Skip to main content
Static ghs_* tokens are rejected. GitHub installation access tokens expire quickly and should not be stored as static GITHUB_TOKEN values.To migrate:
  1. Replace static ghs_* tokens with a personal access token, or configure GitHub App mode.
  2. In GitHub App mode, request scoped run tokens with [run.integrations.github.permissions].

Separate run events and raw logs

fabro events now focuses on structured workflow events, while fabro logs prints the raw worker tracing output for a run. Use events when you want the run timeline, assistant messages, tool activity, or follow-mode output; use logs when you need low-level worker diagnostics.
fabro events <run> --pretty --follow
fabro logs <run> --tail 200
The split makes the CLI match the product model more closely: events are the durable run history, and logs are the debugging stream.

Better foreground server logs

fabro server start --foreground now writes server logs to stdout by default, and interactive terminals get a compact colored one-line format with date-bearing timestamps. Piped stdout and file logs keep the plain tracing format, so scripts and saved logs do not need to change.

Refreshable GitHub tokens during workflows

Long-running workflows that used GitHub App installation tokens could outlive the first token minted for the run. Fabro now keeps GitHub credentials as a refreshable token source and resolves GITHUB_TOKEN lazily before command and API agent stages, so GitHub operations can continue after token rollover. Tokens refresh when they are close to expiry. If a refresh fails while the cached token is still valid, Fabro keeps using the cached token and logs a warning; expired tokens now fail explicitly instead of surfacing later as confusing GitHub authentication errors.

More

  • Added fabro events for structured run event history with --follow, --pretty, --since, and --tail
  • fabro logs now prints raw worker tracing output with --tail
  • Foreground logs now show the run ID on run-scoped log lines
  • Failed API commands now preserve server response details instead of collapsing to a status-only error
  • CLI help output now wraps angle-bracket placeholders in backticks
  • Command stages and API agent stages resolve GITHUB_TOKEN from a refreshable source before use
  • GitHub App installation tokens refresh when they are within 15 minutes of expiry
  • CLI agent stages now surface their launch-time token refresh limitation
  • Interactive foreground server logs now use a compact colored TTY format
  • Worker processes preserve the terminal color environment passed by the foreground server
  • --watch-web now ignores non-source watcher events and responds faster during local development
  • Agent file reads now parallelize read_many_files work
  • Fixed long-running GitHub App workflows losing GitHub access after the initial installation token expired
  • Fixed static configuration accepting short-lived ghs_* installation tokens
  • Fixed foreground server logs defaulting away from stdout
  • Fixed repeated cargo dev rebuilds during generated CLI reference refreshes