Each Claude Code AI can have its own folder (CLAUDE_CONFIG_DIR) in Settings → AI or with craft-anything-cli ai folder, so each can use a different account; the sign-in check, runs and sessions use that folder.
GitHub Copilot CLI can be a coding agent over ACP, with its models chosen through the shared agent model catalogue; options that could bypass the app's tool restrictions are refused, and agents share investigation findings safely.
Supersedes #216. A prompt brought back with Up keeps the pictures it was sent with. feed.json moves to version 3: a User item with pictures is saved as {text, pictures}, one without stays a plain string, so older files read as before. Picture paths are absolute, so they don't come back after the project is moved.
Co-authored-by: muraa-p <muraa-p@users.noreply.github.com>
runtime_captures_compare's left and right parameters are declared as a string or an object instead of a boolean schema, which made Claude Code drop every tool from the MCP server; on the command line a JSON object passed to them stays an object.
Claude's effort goes up to xhigh and max. A model without a level gets the nearest one below it. The level is chosen in Settings → AI or with craft-anything-cli ai effort, and over SSH it reaches the other computer. R2.9.
`craft-anything-cli capabilities` lists each tool with `available`, `needs_target` and `reason`. To show target tools as usable before anything is open, it marked every target tool available and dropped its reason. That also covered tools Clean room refuses, so in Clean room `native_function_pseudocode` read as available with no reason, though the engine refuses it.
Only the "nothing is open yet" refusal is waived now. A target tool the mode refuses keeps `available: false` and its Clean room reason, with `needs_target: true` as before. In Deep mode nothing changes.
**Verified:** a new CLI test runs `capabilities` in Clean room (the tool is unavailable with a reason) and with `--deep` (available, no reason). `cargo test -p craft-anything-cli` and clippy pass.
Fixes#249
Settings → AI shows each AI's model with Change…, listing the API's own models or Claude's models for Claude Code; craft-anything-cli ai model <name> [model] lists or sets it. Fixes#123 and #127.
Settings → AI gets an Add an AI by its address form; AiHub::add_server asks the server for its models before adding it and picks one that can chat when none is named; ai add --kind openai_compatible --base-url without --model does the same. Fixes#54, #98 and #128.
Each local agent app in Settings → AI shows which program runs it, with Choose… and Find it automatically; craft-anything-cli ai program <name> [path] does the same. The not-installed errors point there instead of a setting that didn't exist.
engines_list, doctor, capabilities and Requires::Engine share Settings::engine_path, which honours the Ghidra folder setting, and locate() finds an engine unpacked into a versioned sub-folder.
The status row names the command or file under way instead of only counting
actions. "More detail" opens the latest lines: stages, every command and file
with how it ended, what the builder said, and what programs printed outside the
conversation. Everything is kept in build-activity.log, with secrets hidden, and
the rebuild_activity_show tool and the CLI read the same.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Claude Code's figure is its own guess at API prices, which a subscription
isn't charged. The project page now says "AI cost (estimate)" with a note
saying so, and the title bar says "(estimate)". What an API key was charged
is kept apart in usage.json; older files count as estimates.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Stop deadlocks as they form and watch every lock for one that never lets go
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Give the stuck-lock banner's test a program of its own
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Explain failed agent runs, keep a log to open, and stop offering git servers as computers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Fix a lock-up: the build's agent setup took the session lock twice in one statement
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
A native, pure-Rust app that shows anyone how a piece of software works, with
evidence-backed answers, then helps them rebuild it. It ships a desktop app, a
CLI and an MCP server, all driven by one engine.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>