Skip to main content
Patch follow-up to beta.12. task.py start now actually transitions task.json status from planning to in_progress. Previously only the .current-task pointer got updated and the status field stayed untouched, so Claude Code’s statusline kept showing planning.

Bug Fixes

task.py start transitions task.json status to in_progress

cmd_start previously wrote .current-task, ran the after_start hook, and returned without modifying the status field in task.json. That field was maintained only by create (writes planning) and archive (writes completed); no code path wrote in_progress. Tasks in active development therefore did not appear under list --status in_progress and continued to show Status: PLANNING in session-start breadcrumbs. cmd_start now reads task.json after setting the pointer and writes in_progress only when the current status == "planning". Other statuses are preserved:
Current statusAfter task.py start
planningin_progress
in_progressin_progress (no-op)
reviewreview (preserved; re-starting to address review feedback must not reset status)
completedcompleted (preserved)
Location: packages/cli/src/templates/trellis/scripts/task.py:cmd_start.

Codex agent templates backport the Phase 1.3 fallback section

During beta.11’s init-context-removal, a “Required: Load Trellis Context First” block was added to the top of both Codex agent files. It instructs the sub-agent to skip {"_example": ...} seed rows and, when implement.jsonl / check.jsonl contains no curated entries, fall back to reading prd.md and selecting specs via get_context.py --mode packages. That edit landed only in the dogfood copy at the project root and was not propagated to packages/cli/src/templates/codex/agents/. Through beta.12, Codex agent prompts distributed by trellis init / trellis update lacked the block; the sub-agent blocked on seed-only jsonl instead of taking the fallback path. Backported in this release:
  • packages/cli/src/templates/codex/agents/trellis-check.toml
  • packages/cli/src/templates/codex/agents/trellis-implement.toml
The text matches the prelude generated by configurators/shared.ts:buildPullBasedPrelude for Copilot / Gemini / Qoder, aligning Codex with the other pull-based platforms.

Docs

.codex/config.toml documents the features.codex_hooks opt-in

Trellis’s Codex integration depends on the SessionStart and UserPromptSubmit hooks declared in .codex/hooks.json. Codex loads these only when [features] codex_hooks = true is set in the user-level ~/.codex/config.toml; project-scoped .codex/config.toml cannot enable features.*. Without the flag, hooks.json is silently ignored and Trellis context injection does not run, presenting as Trellis failing to engage on Codex. The project-scoped stub now carries a comment identifying the user-level config path and the exact TOML snippet to add. The unrelated shell_environment_policy block was removed.

Upgrade

Existing projects:
trellis update
No migration steps. Existing tasks, jsonl files, and .current-task are preserved. The first task.py start on an existing planning task after upgrade writes in_progress to status automatically. Codex users who hand-edited .codex/agents/trellis-*.toml will see the two files flagged during update; trellis update prompts per file. Fresh install:
npm i -g @mindfoldhq/[email protected]