Repository navigation
v0.6.11
The desktop app is updated too: Desktop v0.0.5. This release is mostly about approvals, safety and local models.
Approvals
- See the whole command. A multi-line command is shown line by line in the approval, ending with
… +N more lineswhen it does not fit. Shell arguments are quoted the way a shell reads them, so the preview is the command that will run. - Read past the preview. In the TUI,
ctrl+z(or "view full command") pages through the full command, then goes back to the short preview. In Telegram, a cut preview arrives with the full command asfull-command.txtright before the approval message. - Allow in this chat: the local API accepts
allow-in-chat, so a client can approve the same program (for examplegit) for the rest of one chat. Other programs and other chats still ask, and nothing is saved.
Security
- Shell commands no longer see your API keys. Commands the agent runs get its environment without variables named like keys, tokens, secrets or passwords. Name the ones a command still needs in
tools.shell.envPassthrough. - MCP servers started from a command get only basic system variables plus the
envfrom their own config, not every provider key. - Telegram pairing needs a 6-digit one-time code shown on your screen, valid for 5 minutes: send
/start <code>to the bot. A paired owner is only replaced after you confirm. Desktop can now pair over the local API too. - Web pages, search results, HTTP replies and MCP answers are marked as outside text in tool results, and fake chat-template tokens in them are removed.
- A project skill can no longer replace a global skill of the same name. On Windows,
config.jsonis readable only by your account. Webhook secrets are compared in constant time.
Local models
- Thinking models get room to think. Context compaction leaves space for the model's reasoning, so summaries stop failing on thinking models. The local reasoning budget defaults to no limit again (an old written 1500 is moved to 0).
- Broken tool-call JSON is repaired (trailing commas, single quotes, missing brackets) before the agent spends another step asking the model again.
- Looping replies are cut off. A reply cut at the output limit is retried once with a higher cap, or with the same cap and a note when the reply was repeating itself. On cloud models a long turn is retried instead of failing.
- Full tool output is saved to a file when a long result is clipped, so the model can read the part it needs instead of running the command again.
- File changed since last read: a write or edit warns the model when the file changed after it last read it, for example when you saved it in your editor.
os.fs.editmatches text even when the model dropped a blank line or trailing spaces.- llama.cpp default port is now 9931, matching current
llama-server. Saved URLs are not changed, and the "not reachable" hint mentions both 9931 and 8080. A server answering 404 or 405 is reported as the wrong server or no model loaded. - The embedding model keeps running when chat moves to a cloud model, and memory follows an embedding model change without a restart.
Also new
/enhancein the TUI rewrites a draft prompt and puts it back in the composer for you to edit. Nothing is sent until you press Enter.- Streaming replies in the TUI are drawn as markdown as they arrive. Finished file cards have a
[copy path]chip. - The agent also reads project rules from
GEMINI.md,.cursorrules,.github/copilot-instructions.mdand.cursor/rules. - MCP servers accept
enabledToolsanddisabledToolsto offer only some of their tools. atomic-agent runqueues piped lines that arrive during a turn instead of dropping them.atomic-agent uninstallwarns when the desktop app shares the same data folder.
Fixes
- An expired
claudeor Codex login shows the CLI's own error and a sign-in hint instead of "no output". - Local replies that quote a word are no longer cut off mid-sentence.
verify.syntaxchecks JavaScript with a real Node in release builds.- A provider without a chat model can no longer be picked as the chat model.
Windows
- Russian and other non-English text shows correctly in the console: the CLI switches the console to UTF-8 for the session and restores it on exit.