Free tools Windows power users keep installed
One-click scans. No signup required.
For most projects, the right value for the model field in an APC agent file is inherit. It tells each runtime to use its own configured model, so the agent’s role, instructions, and responsibilities can move between contributors and tools without edits. Pin a specific model only when the project’s contract actually depends on that model, and then write down why and what happens if it is unavailable.
What model: inherit means in an APC agent file
An APC agent definition lives in .apc/agents/<slug>.md. Its frontmatter holds the agent’s stable metadata, and the body holds its instructions. The APC agents specification recommends three core fields: name, model, and description. Skills and presentation fields such as color, emoji, and vibe may also appear. The Agents specification is the normative source for these fields.
As an Amazon Associate I earn from qualifying purchases.
A minimal agent file that follows the recommendation looks like this:
---
name: reviewer
description: Reviews pull requests for correctness, test coverage, and style
model: inherit
---
Review the diff against the rules in AGENTS.md. Flag behavior changes
that lack tests. Keep comments short and specific.
With inherit, the file does not name a provider or model ID. The agent declares what it is for, and the runtime that executes it decides which model to use. The same file can therefore run under different tools or on different workstations, each applying its own configured choice.
#1 Best Overall
What the APC specification says about model choice
The specification draws a clear line between project context and runtime behavior. AGENTS.md is the root project contract. It carries repository-wide rules and context. The .apc/agents/<slug>.md files carry structured, agent-specific definitions. Compatible consumers read the root file for project rules and the structured files for agent metadata.
On the model field, the specification says to use inherit unless the project truly requires a specific model. It also says APC should not make one vendor’s model the default. That second point matters: a repository that hard-codes a model is choosing a vendor for every contributor, whether or not the project needs that vendor.
Rank #2
The APC guide to creating a first APC project and the minimal APC example show the same split between a root AGENTS.md, a .apc/ directory for metadata, rules, skills, plans, and agents. The guide also notes that sessions and raw runtime history belong to the IDE, CLI, or daemon that created them. They are not part of the portable project context.
When a team should pin a specific model
Pinning is justified when the model is part of what the project is supposed to do. Two examples:
Rank #3
- A workflow designed to evaluate a named model, where swapping the model would invalidate the results.
- A capability the project has agreed to depend on as part of its contract with a customer or internal team.
A local preference is not a project requirement. A model name that one developer happens to have selected in their own tool, and that was copied into a committed file, does not become a durable contract just because it is in version control. Before you pin, check whether the reason would still hold on a teammate’s machine.
If you do pin, put the reason next to the agent definition. Then record the fallback: what users should do if the model cannot be reached, which tasks become unsafe or invalid without it, and who decides whether to accept a different model. A pin without a documented fallback tends to fail silently when the provider changes or retires the model.
Rank #4
Auditing existing agent files
Repositories that started before this guidance often contain concrete model values copied from someone’s setup. Clean them up with a short audit:
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches- Search the agent directory for concrete values, for example
grep -n "^model:" .apc/agents/*.md. - For each value other than
inherit, ask whether a project requirement depends on it. If the answer is yes, keep it and add the reason and fallback next to the definition. - If the answer is no, change the field to
model: inherit. This is an incidental operational choice, not a contract. - Set the actual model in each runtime’s own model settings. The steps differ by tool, so use that tool’s documentation.
- Commit the changes with a note that identifies which agents were pinned on purpose and why, so the next audit can skip them.
Inherit versus a pinned model
| Consideration | model: inherit |
Pinned provider or model ID |
|---|---|---|
| Portability across contributors and tools | High: the same role file works wherever the runtime is configured | Lower: each environment must offer that exact model |
| Fit when the task requires a particular model | Poor: the runtime may choose a different model | Strong: the requirement is explicit in the repository |
| Who controls the effective model | The configured runtime | The repository, overridden only where the runtime allows |
| Maintenance burden | Low: nothing to update when providers change | Ongoing: the identifier must be updated or re-approved as models change |
| Failure mode if the model is unavailable | The runtime’s fallback applies, which can differ by environment | The agent fails, or runs under a substitute, unless a fallback is documented |
The table shows the trade-off. Inheritance gives up control over which model runs in exchange for portability and lower upkeep. A pin does the reverse. Neither option ensures identical behavior across tools, because runtimes do not have identical defaults or access to the same models.
Best Value
What inherit does not guarantee
- It does not confirm that a model is installed, healthy, available, or affordable on a given machine.
- It does not make two runtimes produce the same output for the same instructions.
- It does not replace the reason for the choice. An agent with an incidental model preference still needs the audit above.
- It does not depend on which tool you use. The specification names Codex, Claude Code, Cursor, and APX as examples of compatible consumers. That is an example list in the specification, not an endorsement or a promise that every feature works the same way in every version.
A companion article by Manuel Bruña, published on DEV on September 18, 2026, makes the same case for inherit as the better default. This article relies on the APC specification for its rules. The DEV piece is cited only for its stated thesis.
The specification describes this as guidance. It does not report a measured outcome. Treat the portability benefit as a design rationale, not a benchmark.
Read the DEV article on keeping APC agents portable.
Recommended Free Tools
In the Agents specification, the recommendation reads: “Use inherit unless the project truly requires a specific model.”
The rule is simple to apply. Default every agent to inherit, keep the few pins that reflect real project contracts, and document each one with its reason and fallback.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




