Upgrading from v0.85.0 #
Stop any running agnostic-ai watch process before updating the installation or project config.
Check each Claude Code agent with a scoped capability before installing. A value such as can: [shell(git diff *)] now writes tools: Bash. Claude Code does not enforce command patterns in an agent's tool list. Add a PreToolUse hook to that agent that blocks other commands, or use settings deny rules, which apply to the main conversation and every agent. For the hook option, first accept the interactive trust dialog for the exact folder containing the agent file. Claude Code skips project agent hooks until then; parent-folder trust and automatic -p trust do not count (hook trust rules). Sync reports each broadened capability; on-unsupported: error stops on it. See agent tool limits.
Install through your existing package manager. For a global npm installation:
npm install -g agnostic-ai@0.86.0
For an exact project pin, agnostic-ai upgrade --requires updates requires and the schema URL, then syncs. It also replaces minimum or range requirements and local overrides. To preserve a deliberate minimum or range, keep that value, update the schema URL to v0.86.0, review agnostic-ai migrate --dry-run, and run agnostic-ai sync. See upgrade behavior.
Review the generated diff, commit it, and run agnostic-ai sync --check before restarting watch. In particular:
- Agents already using top-level
maxTurnsorbackgroundnow reach more tools. Check those agents against thetarget mapping . Invalid types now stop validation and sync. - Claude Code agents now get required
nameanddescriptionfields, using the name when the description is missing. An agent with an empty or unusable tool list is skipped with a note. Replace that list with the intended tools;can: []does not create an agent with no tools. - New lint warnings cover likely credentials in more MCP fields and oversized Claude Code agent descriptions. Projects using
lint --strictneed to resolve those warnings.
What agnostic-ai changed #
Set agent limits once
An agent can now use portable maxTurns and background fields:
---
name: researcher
description: Finds relevant code and returns file paths.
can: [read, Grep, Glob]
maxTurns: 12
background: true
---
Find the relevant files and report what each one does.
Save it under .agnostic-ai/agents/. Claude Code and Qoder receive both fields, with Qoder background sessions requiring the native feature to be on. Junie receives maxTurns, Gemini CLI receives max_turns, and Kilo Code and OpenCode receive steps. Cursor receives is_background. Other mappings produce a sync note. A matching x-<target> override wins, and import reads native values back. See agent fields.
Give an MCP server only to selected agents
Set agent-only: true on a server in .agnostic-ai/mcps/, then name it in an agent's mcpServers list:
name: docs
agent-only: true
type: http
url: https://mcp.example.com/mcp
mcpServers: [docs]
Claude Code, Qoder, Kiro, and OpenHands receive the server definition inside the agent file. The server stays out of every project and user MCP file. Other tools receive no copy and sync explains why. Agent files receive stricter credential checks because they are committed with the agent. See agent-only servers.
Trace the sources behind a spec
agnostic-ai explain .agnostic-ai/rules/conventional-commits.md --layers
agnostic-ai explain .agnostic-ai/rules/conventional-commits.md --layers --json
The output lists the source files in resolution order, their layers, and whether each replaces or extends a previous source. Replaced files remain visible, so you can trace a pack rule through a project replacement and a personal extension. This inspects project source resolution; it does not claim that a coding tool loaded the result. See source layers.
Keep native settings through import
import keeps keys a spec already places under x-<target> in that block, across supported spec kinds. A tool-specific setting no longer becomes a shared field that reaches other tools on the next sync. Kiro agent imports also keep key order and comments.
OpenCode agent permission rules preserve their order, and restricted agents retain native V2 project limits. Factory MCP tool allowlists survive sync and import, and Ellipsis environments keep their validate hook. Claude Code user permission rules can now be imported into the home with import --global claude and merged back with sync --global.
Sync notes now suggest a concrete fix for dropped skill or agent fields and unsupported global agents. The JSON output includes those suggestions and global warnings. See the full release notes for smaller fixes and documentation changes.
What changed in the targets #
These are documentation findings verified on October 20, 2026, rather than claims that the features launched that day.
- Claude Code inline MCP servers require folder trust. The current documentation says the check applies from v2.1.238. Trust the project folder in an interactive session before relying on an agent-only server; parent-folder trust and automatic
-por SDK trust do not count. This release writes the inline definition, while Claude Code decides whether to load it.Claude Code trust rules . - Kiro CLI V3 honors global ignore files. Its documentation names
~/.kiro/settings/kiroignoreand Git's global exclusions, with the latter applying only inside Git repositories. Configure those native files yourself for cross-project exclusions. This release corrects the guide; the adapter continues to write the project's.kiroignore.Kiro ignore documentation .