Breaking Changes
-
Sub-agents renamed:
implement/check/research→trellis-implement/trellis-check/trellis-researchacross all 10 platforms (claude, cursor, opencode, codex, kiro, gemini, qoder, codebuddy, copilot, droid). The old generic names were colliding with user-defined agents and, on some platforms, getting matched by the main agent’s description heuristics. Prefixing withtrellis-makes them unambiguously Trellis sub-agents that only fire when you explicitly want them.workflow.md, the copilot start prompt,shared-hooks/inject-subagent-context.pyconstants, and the configurator’s pull-based prelude detection are all updated. If you wrote a custom command or script that callsTask(subagent_type: "implement", ...), you need to change it totrellis-implementyourself.
Bug Fixes
-
Dropped
model: opusfrom all agent frontmatters. This was a real money bug for Cursor users. All 18 markdown agent templates shipped withmodel: opushardcoded in frontmatter, plus threeTask()examples incopilot/prompts/start.prompt.mdthat saidmodel: "opus". The effect per platform:- Claude Code: silently overrode the user’s selected model for every sub-agent run (all work pinned to Opus regardless of preference).
- Cursor: mapped
opusto Claude Opus billing — ~5× Sonnet pricing. One tester reported “差点给我跑破产” (“almost went bankrupt on me”) before noticing. - Gemini / Droid / Codebuddy / Qoder:
opusisn’t a valid model identifier for these platforms — at best ignored, at worst broke.
Upgrade
- Unmodified agent files: auto-renamed via hash check (30 rename entries across 10 platforms).
- Customized agent files: you’ll see the standard
Modified by youconfirm prompt with diff. Pick[1] Overwriteto adopt the new name, or[3] Skipif you want to keep your custom agent — but then you must also updateworkflow.md, skill prompts, and hook constants yourself to point at whatever name you kept.
update.skip is bypassed for this release (breaking + recommendMigrate both true when invoked with --migrate) to prevent a half-migrated state where workflow.md references trellis-implement but your .claude/agents/ still contains the old implement.md.
Install: npm install -g @mindfoldhq/trellis@beta