# agnostic-ai v0.86.0: share agent limits and keep MCP servers inside agents

> Source: <https://agnostic-ai.org/updates/2026-10-20-v0.86.0/>
> Published: 2026-10-19 22:00:00+00:00

## 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](https://code.claude.com/docs/en/sub-agents#hooks-in-subagent-frontmatter)). Sync reports each broadened capability; `on-unsupported: error` stops on it. See [agent tool limits](https://agnostic-ai.org/docs/spec-format/agents/#capabilities).

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](https://agnostic-ai.org/docs/cli-reference/maintain/#upgrade).

Review the generated diff, commit it, and run `agnostic-ai sync --check` before restarting watch. In particular:

- Agents already using top-level `maxTurns` or`background` now reach more tools. Check those agents against the[target mapping](https://agnostic-ai.org/docs/spec-format/agents/#maxturns-and-background-by-target) . Invalid types now stop validation and sync.
- Claude Code agents now get required `name` and`description` fields, 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 --strict` need 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](https://agnostic-ai.org/docs/spec-format/agents/#maxturns-and-background-by-target).

### 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:

```
# .agnostic-ai/mcps/docs.yaml
name: docs
agent-only: true
type: http
url: https://mcp.example.com/mcp
# In the agent's frontmatter
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](https://agnostic-ai.org/docs/spec-format/mcps/#agent-only).

### 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](https://agnostic-ai.org/docs/cli-reference/inspect/#debug-a-replaced-spec).

### 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](https://github.com/Chemaclass/agnostic-ai/releases/tag/v0.86.0) 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`-p` or SDK trust do not count. This release writes the inline definition, while Claude Code decides whether to load it.[Claude Code trust rules](https://code.claude.com/docs/en/sub-agents#inline-server-trust) .
- **Kiro CLI V3 honors global ignore files.** Its documentation names`~/.kiro/settings/kiroignore` and 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](https://kiro.dev/docs/kiroignore/) .
