Release v1.4.0
Headless -p mode, permission rule patterns, MCP stdio transport, the /init command, and TUI tabs, thinking display, and collapsible tool calls. Details in CHANGELOG.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017vyPTyfUMzM2hd8DzzLf2E
Claude committed
Jul 7, 2026 at 07:16 UTC
7ea06acee91f89fdd0854bde2a1aae5ac6e8df83
3 files changed
+19
-2
CHANGELOG.md
+17
@@ -1,5 +1,22 @@
1
# Changelog
2
3
+## 1.4.0
4
+
5
+Adds a headless one-shot mode, fine-grained permission rules, stdio transport
6
+for MCP servers, an `/init` command, and a set of TUI upgrades: tabs, a live
7
+thinking display, and collapsible tool calls.
8
+
9
+### What changed
10
+
11
+- New headless mode: `sigit -p "prompt"` runs one agent turn with tools and exits — 0 on a completed turn, 1 on inference errors, 2 on bad invocations. Assistant text streams to stdout while logs and tool progress stay on stderr; `--cwd` sets the working directory and `--quiet` prints only the final message. Nobody can answer a permission prompt in a headless run, so `ask` collapses to a denial: grant tools for the run with `--allow-tool`, block them with `--deny-tool`, or use `SIGIT_PERMISSIONS=allow`
12
+- Permission rules make autonomy granular: `[permissions.rules]` in `settings.toml` holds ordered `allow` and `deny` lists of `tool_name(pattern)` entries, e.g. `run_command(git *)` or `edit_file(src/*)`. Patterns match the command string for `run_command` and the path for file tools; deny always beats allow, and unparseable patterns fail closed, so a bad rule can only narrow access. Always-allow on a `run_command` prompt now grants that command family (its first two tokens), not the whole shell
13
+- The MCP client speaks stdio: `mcp.toml` server entries can give a `command`, `args`, and an `env` map instead of a `url`, so the stdio-first majority of published MCP servers plugs in. Same handshake, timeouts, tool namespacing, and output caps as HTTP; `/mcp` shows the command line for stdio servers
14
+- New `/init` command (TUI and ACP): runs a normal agent turn that explores the repository and writes an `AGENTS.md` — or improves an existing `AGENTS.md`/`CLAUDE.md` in place — going through the ordinary tools and permission checks
15
+- The TUI gains tabs, cycled with the Tab key: Session is the chat, History lists saved sessions (restore with Enter, delete with a confirmed double-`d`, refresh with `r`), and Cloud shows the signed-in account, inference mode, current model and engine state, permission policy, and config dir, with a live Local Inference toggle
16
+- The TUI shows model thinking: while a reply streams, the last three lines of the reasoning appear live under the spinner, dim and italic; finished replies collapse to a one-line indicator with the line count, and `/thinking` expands the full reasoning block above each reply. Display only — nothing changes in what is sent to the model, saved to sessions, or streamed over ACP
17
+- Tool calls in the TUI transcript collapse to single dim title lines (the command for `run_command`, the path for file tools, the pattern for search and glob); `/tools` expands every entry to show the pretty-printed arguments and a capped tail of the result. Permission prompts keep showing the full command, and the model still receives full outputs
18
+- When `AGENTS.md` and `CLAUDE.md` sit in the same directory, the instructions loader now prefers `AGENTS.md`, so shared content is injected once
19
+
20
## 1.3.2
21
22
Adds a tool permission system with plan mode, durable sessions with context
Cargo.lock
+1
-1
@@ -5200,7 +5200,7 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
5200
5201
[[package]]
5202
name = "sigit"
5203
-version = "1.3.2"
5203
+version = "1.4.0"
5204
dependencies = [
5205
"agent-client-protocol",
5206
"anyhow",
Cargo.toml
+1
-1
@@ -1,6 +1,6 @@
1
[package]
2
name = "sigit"
3
-version = "1.3.2"
3
+version = "1.4.0"
4
edition = "2024"
5
description = "siGit Code — ACP-compatible AI coding agent. Sí, git."
6
documentation = "https://github.com/getsigit/sigit"