{"slug": "agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool", "title": "agnostic-ai v0.82.0: guided upgrades and hooks that match each tool", "summary": "Agnostic-ai released v0.82.0, which makes previously ignored Codex sandbox settings in `outputs.codex.config.sandbox` take effect and defaults interactive upgrade offers to Yes. The release adds optional `rtk` and `caveman` builtins for command output reduction and shorter responses, plus a `before-tool` hook that maps to Kiro CLI V3 and lets a script exit 2 to block a shell tool call. Users upgrading from v0.81.0 must stop any running `agnostic-ai watch` process, install via `npm install -g agnostic-ai@0.82.0`, and run `agnostic-ai sync --check` before restarting watch.", "body_md": "## Upgrading from v0.81.0\n\nStop any running `agnostic-ai watch` process before changing the installation or project config.\n\n**Codex sandbox settings now take effect.** If your config sets `outputs.codex.config.sandbox`, review the value before the first sync. Use `read-only`, `workspace-write`, or `danger-full-access`. An invalid value stops sync. A valid value was previously ignored and now controls the generated session setting. See [Codex configuration](https://agnostic-ai.org/docs/targets/codex/).\n\n**Interactive upgrade offers default to Yes.** When a terminal command offers a release, pressing Enter accepts the update and its listed project changes. Type `n` to continue your original command. Review the offer before accepting.\n\nInstall the release through your existing installer. For a global npm installation:\n\n```\nnpm install -g agnostic-ai@0.82.0\n```\n\nIf your project uses an exact version pin, run:\n\n```\nagnostic-ai upgrade --requires\nagnostic-ai sync --check\n```\n\n`upgrade --requires` sets `requires` and the schema link to the installed release, then syncs. It replaces a deliberate minimum or range too, including an existing local override. To preserve a minimum or range, keep that value, update the schema URL to `v0.82.0`, review `agnostic-ai migrate --dry-run`, and run `agnostic-ai sync` followed by `agnostic-ai sync --check`. See [guided upgrades](https://agnostic-ai.org/docs/cli-reference/maintain/#upgrade).\n\nRestart watch after the check passes. RTK and Caveman are optional additions; upgrading does not turn either on.\n\n## What agnostic-ai changed\n\n### Upgrade from the command you already use\n\nInteractive commands offer available releases with their release notes and project guidance. Accepting the offer updates the installation, applies the migrations your project needs, and checks its generated files. Project version and schema changes appear in the prompt. See [upgrade behavior and installer support](https://agnostic-ai.org/docs/cli-reference/maintain/#upgrade).\n\n### Choose command output reduction or shorter responses\n\nAdd `rtk` or `caveman` to your existing `builtins` list, keeping the names already there. For a project with no other built-ins:\n\n```\nbuiltins: [rtk]\n```\n\nRTK adds a Claude Code hook that rewrites supported commands to reduce their output. Install RTK separately. Caveman adds a response skill to tools that support skills; use `builtins: [caveman]` to choose it instead, or add both names. Neither is installed or enabled automatically.\n\nKeep one RTK hook when you already have a global or project installation. Claude Code applies permissions to the rewritten command, so an approval rule for `git status` does not cover `rtk git status`. The published tests found no additional cost benefit from adding Caveman to RTK; choose its response style separately. See [setup, approval rules, and measured results](https://agnostic-ai.org/docs/rtk-and-caveman/).\n\n### Check Kiro tool calls before they run\n\nagnostic-ai now maps a shared `before-tool` check to Kiro CLI V3. Create your own executable `.agnostic-ai/scripts/check-shell.sh`, which reads the tool call from stdin, exits 0 to allow it, or exits 2 with a reason on stderr to block it. Then add:\n\n```\nname: check-shell\non: before-tool\nmatch: shell\ncommand: .agnostic-ai/scripts/check-shell.sh\n```\n\nSync writes `PreToolUse` with an anchored list of Kiro's documented shell IDs. The other built-in kinds also select known IDs, so a `read` guard does not accidentally run on an MCP tool whose name contains `read`. `edit` selects file write tools and excludes `code`. `mcp:<server>` selects that server, including one named `mcp`, `builtin`, or `powers`.\n\nOnly `before-tool` maps portably to Kiro in this release. Other portable events have different blocking behavior, and the portable `decision: stdout` wrapper is not supported there. Use Kiro's own event names when you need those behaviors. `hook run` now follows CLI V3 prompt and Stop exits, and leaves ambiguous MCP server/tool IDs untested with an explanation. See [portable hooks](https://agnostic-ai.org/docs/spec-format/hooks/#portable-events) and [Kiro](https://agnostic-ai.org/docs/targets/kiro/).\n\n### Share hooks and servers across workspaces\n\nHome specs now reach Kiro hooks and Antigravity and Warp MCP servers:\n\n```\nagnostic-ai sync --global --only kiro\nagnostic-ai sync --global --only antigravity\nagnostic-ai sync --global --only warp\n```\n\nKiro hooks land in `~/.kiro/hooks/`, Antigravity servers in `~/.gemini/config/mcp_config.json`, and Warp servers in `~/.warp/.mcp.json`. agnostic-ai also uses `KIRO_HOME` as an output-root override for its Kiro files; the vendor docs do not confirm that Kiro loads hooks from that override. Global import supports these surfaces too. Sync preserves unrelated user entries and reports conflicts. Kiro import skips hook files one spec cannot reproduce, including mixed-trigger files. Disabled Warp servers are omitted because Warp starts its global servers automatically. See [global output](https://agnostic-ai.org/docs/target-behavior/#global-output).\n\n### Make failed guards and preserved settings visible\n\nClaude Code hook specs accept `failClosed: true` to block a supported synchronous action when its handler fails or times out. Sync names events and background handlers where Claude ignores that setting, rather than implying they protect the action. Imported handler settings and `onFailure` values survive sync without duplicate groups. See [hook fields](https://agnostic-ai.org/docs/spec-format/hooks/).\n\nTrae preserves an explicitly empty agent tool list and imports shared `.agents/skills/` with native Trae skills taking priority. Codex import preserves manual skill sources. Repo memory gives OpenCode and Devin CLI clearer save instructions, and warns when a hand-written Codex config lacks access to the personal memory folder.\n\nCommands also do less repeated work on 500-spec projects. Sync and import preserve more hand-written content, `graph --target` selects one tool, and `doctor` lists installed tools in name order. Full list: [v0.82.0 release notes](https://github.com/Chemaclass/agnostic-ai/releases/tag/v0.82.0).\n\n## What changed in the targets\n\n**Claude Code's failure setting has event limits.** Its current reference, checked on 2026-10-10, requires Claude Code 2.1.295 or later for `onFailure: \"block\"`. The setting does not affect Stop, SubagentStop, TaskCompleted, TeammateIdle, or background command hooks. This release expresses the setting and reports those limits. Use a synchronous tool or prompt gate when failure must prevent an action. [Claude Code hooks reference](https://code.claude.com/docs/en/hooks#block-the-action-when-a-hook-fails).\n\n**Kiro CLI V3 treats prompt and Stop hooks differently.** Documentation checked on 2026-10-10 says prompt hooks cannot reject a prompt, and Stop exit 1 requests another agent turn. CLI V3 also loads global hooks alongside workspace hooks. The shipped Kiro changes above follow these contracts. Its agent references now agree on category tags; `knowledge` and `invoke_sub_agent` use direct IDs, while `keyboardShortcut` belongs to CLI 2.x. Those are documentation discoveries, not claimed launch dates. [Hook types](https://kiro.dev/docs/hooks/types), [CLI V3 hook migration](https://kiro.dev/docs/cli/v3/hooks-migration.md), [hook locations](https://kiro.dev/docs/hooks), [agent configuration](https://kiro.dev/docs/custom-agents/configuration-reference), [built-in tools](https://kiro.dev/docs/tools).\n\n**Antigravity and Warp document global MCP files.** Their references were checked on 2026-10-10. Antigravity uses `serverUrl` for remote connections, which global sync now writes from portable `url`. Warp starts native global file-based servers by default; project servers require approval. The new global mappings use each tool's native file and preserve that distinction. [Antigravity MCP](https://antigravity.google/docs/mcp?tab=ide), [Warp file-based MCP](https://docs.warp.dev/agents/capabilities/mcp).", "url": "https://wpnews.pro/news/agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool", "canonical_source": "https://agnostic-ai.org/updates/2026-10-10-v0.82.0/", "published_at": "2026-10-09 22:00:00+00:00", "updated_at": "2026-10-10 14:17:21.512058+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-agents"], "entities": ["agnostic-ai", "Codex", "Kiro CLI V3", "Claude Code", "RTK", "Caveman", "npm"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool", "markdown": "https://wpnews.pro/news/agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool.md", "text": "https://wpnews.pro/news/agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool.txt", "jsonld": "https://wpnews.pro/news/agnostic-ai-v0-82-0-guided-upgrades-and-hooks-that-match-each-tool.jsonld"}}