# Changelog

## 0.4.19

- Read CLI minimum and recommended versions from the live zcouncil agent manifest before falling back to npm update checks.
- Fail clearly when the server requires a newer local CLI.

## 0.4.18

- Read Claude Code Max quota percentages from Claude Code Messages API response headers via a loopback proxy, without using interactive `/usage` scraping.

## 0.4.17

- Forward Agent Bridge multimodal attachments to bridge-backed providers.
- Harden provider status/profile handling for Claude Code profile-backed bridge hosts.

## 0.4.16

- Keep `zcouncil bridge start` as the simple public bridge command while adding hidden local profile support for Codex fallback.
- Advertise bridge identity and priority to bridge-aware backends so multiple connected bridges can be routed deterministically.
- Refresh bridge provider status through the shared provider limit path and include compact fallback account labels.

## 0.4.15

- Make `zcouncil update` print package version transitions such as `@zcouncil/cli: 0.4.14 → 0.4.15` and `@zcouncil/pi: 0.1.8 → 0.1.10`.

## 0.4.14

- Make bare `zcouncil` print help instead of starting the bridge.
- Add explicit `zcouncil bridge start` and `zcouncil bridge status` subcommands.
- Print the resolved `@zcouncil/cli` and `@zcouncil/pi` versions during `zcouncil update`.

## 0.4.13

- Make bridge cancellation actually abort in-flight Codex streams and kill in-flight Claude Code child processes.
- Add regression tests for Codex stream aborts and Claude Code process cancellation.

## 0.4.12

- Make `zcouncil --help` a minimal one-column layout for narrow split-pane terminals.

## 0.4.11

- Rewrite `zcouncil --help` into shorter sections that stay readable in narrow terminals.
- Add a regression test that keeps help output line lengths bounded.

## 0.4.10

- Fail unknown subcommands such as `zcouncil bridge status` instead of silently starting the bridge.
- Print an update notice when a newer `@zcouncil/cli` version is available.

## 0.4.9

- Parse Claude Code `/usage` weekly reset labels rendered as `May 13, 9am`.

## 0.4.8

- Report bridge quota as remaining percentage to match provider UIs.
- Make Claude Code quota probe failures more specific when `/usage` stays on Loading usage data.

## 0.4.7

- Keep the runtime-visible CLI version in sync with the published package version.

## 0.4.6

- Wait for Claude Code `/usage` details before parsing quota metadata on slower bridge hosts.

## 0.4.5

- Use deterministic bridge quota probes: ChatGPT usage for Codex and Claude Code `/usage` for Claude.
- Report quota probe failures in provider status and persist them to backend diagnostics for later debugging.

## 0.4.4

- Add `zcouncil update` to update the global CLI and installed Pi package without accidentally starting the bridge.

## 0.4.3

- Use shared `@zcouncil/sdk/node` helpers for bridge-scoped token storage and validation.
- Remove old unscoped `~/.zcouncil/token` fallback and cleanup behavior; tokens are only read from `~/.zcouncil/tokens/` or `ZCOUNCIL_TOKEN`.

## 0.4.2

- Fix CLI startup when installed through npm/npx symlinks while keeping parser imports safe for tests.

## 0.4.1

- Improve Claude Code `/usage` reset parsing for labels such as `Resets at 8:30pm` and dated weekly resets such as `May 13 at 5am`.
- Prefer the human-visible Claude Code `/usage` reset label over stale structured reset timestamps when reporting bridge quota.
- Add regression tests for Claude Code reset parsing.

## 0.4.0

- Add headless council commands: `zcouncil run`, `zcouncil ask`, `zcouncil members`, and `zcouncil profiles`.
- Support stdin prompts with `zcouncil run - < prompt.md` and JSON output with `--json` for scripting and agent use.
- Keep the existing local bridge behavior as the default and expose it explicitly as `zcouncil bridge`.

## 0.3.11

- Stop advertising Claude Code bridge routing when `claude auth status` reports the host is not logged in. This prevents stale local Claude metadata from making the Bridge UI look enabled even though Claude calls and usage scraping fail with `Not logged in`.

## 0.3.10

- Show `oauth` for Claude Code bridge hosts authenticated with `CLAUDE_CODE_OAUTH_TOKEN` when Claude Code does not expose an exact subscription tier.

## 0.3.9

- Improve Claude Code account detection for headless `CLAUDE_CODE_OAUTH_TOKEN` bridge hosts by reading the Claude Code status TUI when `claude auth status` omits account metadata.

## 0.3.8

- Make Codex plan and quota detection wait for the app-server response instead of relying on a fixed sleep, improving startup status reliability on slower bridge hosts.
- Update bridge docs to use the current Codex/Claude Code startup output.

## 0.3.7

- Report connected bridge subscription/account status for ChatGPT/Codex and Claude Code so the web Bridge dialog can show which local accounts are powering the bridge.
- Add `zcouncil doctor` diagnostics for checking the saved bridge token and local provider auth.

## 0.3.6

- Rename the npm package to `@zcouncil/cli` and the executable to `zcouncil`.
- Add Claude Code bridge support for the Claude Opus 4.7 council member.
- Advertise exact local bridge model capabilities so zcouncil only routes to providers available on this machine.
- Allow the bridge to run with Claude Code only, ChatGPT/Codex only, or both.

## 0.3.5

- Point preview bridge token prompts at the matching `pr-<N>.zcouncil.pages.dev` chat URL when `--bridge` targets a `zcouncil-worker-preview-pr-<N>` Worker.
- Prevent preview bridge users from accidentally creating production API tokens that cannot authenticate against the preview Convex deployment.

## 0.3.4

- Save zcouncil CLI tokens per bridge URL under `~/.zcouncil/tokens/`.
- Keep production, localhost, and preview/debug bridge tokens separate.
- Make `logout` clear the saved token for the selected bridge URL.
