From d2de2f818c49cda0f7ee02eb82e228c85d9d9c9d Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Thu, 19 Mar 2026 15:01:47 -0400 Subject: [PATCH] Update docs for provider login, auto-detect provider, and model changes Co-Authored-By: Claude Opus 4.6 (1M context) --- .claude/skills/docs/watermark | 2 +- docs/core-concepts/models.mdx | 9 +++++---- docs/reference/cli.mdx | 22 +++++++++++++++++++++- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/.claude/skills/docs/watermark b/.claude/skills/docs/watermark index f75bde743..6d7216bae 100644 --- a/.claude/skills/docs/watermark +++ b/.claude/skills/docs/watermark @@ -1 +1 @@ -d6fdeb81353d3bdf86a87fc499a2a5889206524b +45ff3da4e05c7c67c909d7b860c7764b34e6a342 diff --git a/docs/core-concepts/models.mdx b/docs/core-concepts/models.mdx index f0fdbada3..5ad270cd6 100644 --- a/docs/core-concepts/models.mdx +++ b/docs/core-concepts/models.mdx @@ -14,7 +14,8 @@ No single model is best at everything. Fabro lets you assign the right model to | Model | Provider | Aliases | Context | Cost (in/out per Mtok) | Speed | |---|---|---|---|---|---| | `claude-opus-4-6` | anthropic | `opus`, `claude-opus` | 1M | $15.00 / $75.00 | 25 tok/s | -| `claude-sonnet-4-5` | anthropic | `sonnet`, `claude-sonnet` | 200K | $3.00 / $15.00 | 50 tok/s | +| `claude-sonnet-4-6` | anthropic | `sonnet`, `claude-sonnet` | 200K | $3.00 / $15.00 | 50 tok/s | +| `claude-sonnet-4-5` | anthropic | | 200K | $3.00 / $15.00 | 50 tok/s | | `claude-haiku-4-5` | anthropic | `haiku`, `claude-haiku` | 200K | $0.80 / $4.00 | 100 tok/s | | `gpt-5.2` | openai | `gpt5` | 1M | $1.80 / $14.00 | 65 tok/s | | `gpt-5-mini` | openai | `gpt5-mini` | 1M | $0.20 / $2.00 | 70 tok/s | @@ -37,12 +38,12 @@ Each provider requires its own API key set via environment variable (e.g. `ANTHR ## Default models -When no model is specified, the `fabro exec` command uses a default model based on the provider: +When no model or provider is specified, Fabro auto-detects the provider by checking which API keys are configured, using precedence order Anthropic > OpenAI > Gemini. If no keys are found, it falls back to Anthropic. Each provider has a default model: | Provider | Default model | |---|---| -| `anthropic` | `claude-opus-4-6` | -| `openai` | `gpt-5.2-codex` | +| `anthropic` | `claude-sonnet-4-6` | +| `openai` | `gpt-5.4` | | `gemini` | `gemini-3.1-pro-preview` | | `kimi` | `kimi-k2.5` | | `zai` | `glm-4.7` | diff --git a/docs/reference/cli.mdx b/docs/reference/cli.mdx index 92618d8cb..e07dc2da2 100644 --- a/docs/reference/cli.mdx +++ b/docs/reference/cli.mdx @@ -143,7 +143,7 @@ fabro exec "Refactor the auth module" --permissions full --auto-approve | Argument / Flag | Description | Default | |---|---|---| | `` | Task prompt (required) | — | -| `--provider ` | LLM provider | `anthropic` | +| `--provider ` | LLM provider | Auto-detected from configured API keys (see [default models](/core-concepts/models#default-models)) | | `--model ` | Model name | Per provider (see below) | | `--permissions ` | Permission level: `read-only`, `read-write`, or `full` | `read-write` | | `--auto-approve` | Skip interactive prompts; deny tools outside permission level | — | @@ -690,14 +690,34 @@ fabro asset cp :report.html ./output # specific file When copying all assets in flat mode, filenames must be unique across nodes. Use `--tree` or `--node` to disambiguate. +## `fabro provider login` + +Re-authenticate with an LLM provider without re-running the full install wizard. Useful when tokens expire or when switching accounts. + +```bash +fabro provider login --provider openai +fabro provider login --provider anthropic +``` + +| Flag | Description | +|---|---| +| `--provider ` | LLM provider to authenticate with (required) | + +For OpenAI, this launches a browser-based OAuth PKCE flow with an automatic fallback to manual API key entry. All other providers prompt for an API key with validation. Credentials are merged non-destructively into `~/.fabro/.env`. + ## `fabro install` Interactive setup wizard that walks you through configuring API keys and validating your environment. Runs `fabro doctor` with live probes after setup to validate the configuration. ```bash fabro install +fabro install --web-url https://fabro.example.com ``` +| Flag | Description | Default | +|---|---|---| +| `--web-url ` | Web UI base URL for OAuth callback endpoints | `http://localhost:5173` | + --- ## `fabro secret set`