3.0 KB · updated 2026-07-06 · md

v0.6.1.md

docs/release-notes/v0.6.1.md

Tesserae v0.6.1 — CLI quality-of-life + a codex provider fix

<!-- translations:start -->

한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end -->

Released 2026-06-08 · PyPI · GitHub release · pip install --upgrade tesserae==0.6.1

A small follow-up to the v0.6.0 CLI redesign: two quality-of-life improvements to the new flat-verb CLI and one real bug fix for multi-account codex users.

1. tesserae compile now shows live progress

A long compile used to sit silent. It now renders a multi-phase, codegraph index-style progress display on an interactive terminal:

◆ Scanning sources — 2036 found
  Extracting ████████████████░░░░░░░░  64%  1302/2036  0:12
◆ Extracted 2036 files
⠙ Finalizing — community summaries, vault, site…
◆ Compiled  ·  220243 nodes · 679073 edges  ·  41s

It's powered by rich (already a dependency) and renders only on a TTY — piped, CI, MCP-server, and daemon runs stay byte-identical (the plain Compiled project wiki: … summary line is preserved), so nothing changes for scripts.

2. tesserae projects register auto-initializes

Registering a project directory that wasn't a Tesserae project yet failed with No .tesserae/graph.json found. Now, if the path is an existing directory without a .tesserae/ workspace, register creates a bare one first (then prints a hint to run tesserae compile). A missing or mistyped path is still an error — it is never auto-created — and an already-initialized project is left untouched.

3. Fix: llm_provider: codex is now honored by every LLM pass

If you selected codex (via tesserae config llm --llm-provider codex or the project's config.json), several compile-time LLM passes still used the Claude CLI anyway — producing ClaudeCLIJsonClient … You've hit your Sonnet limit even though you'd chosen codex. The cause: the community-summaries pass, the Phase-5 memory passes, and the lab schema-drift / lab evolve / query --llm commands built their LLM client without consulting the provider setting, so they always defaulted to Claude. All of them now resolve the backend the same way as the rest of the engine — env var > project config.json > global ~/.tesserae/config.json > default — so llm_provider: codex is respected everywhere.

Upgrading from v0.6.0

Nothing to change — all three are drop-in. If you'd previously set llm_provider: codex and still saw Claude being called during compile, this release fixes that; just tesserae compile again.