Install the public release.
Python 3.11 or newer is the only runtime requirement. The wheel has no third-party runtime dependencies.
Windows PowerShell: replace python3 with py. Then confirm the installed version.
ChatGPT, OpenAI, Claude, Gemini, MiniMax, GLM, Ollama, and compatible gateways. API keys or vendor-owned login bridges. One command.
This is the complete supported path. Copy the commands, connect one provider, verify it, and start. No hidden repository setup required.
Python 3.11 or newer is the only runtime requirement. The wheel has no third-party runtime dependencies.
Windows PowerShell: replace python3 with py. Then confirm the installed version.
fm setup detects usable routes and prints the exact local check, bounded live proof, and first prompt. Or focus it on one connection:
Credentials stay in the provider's environment or vault; fm never copies them.
npm i -g @openai/codex
fm auth login openai
fm "Hello" -m chatgpt/defaultOfficial setup ↗npm i -g @anthropic-ai/claude-code
fm auth login anthropic
fm "Hello" -m claude/defaultOfficial setup ↗npm i -g mmx-cli
fm auth login minimax
fm "Hello" -m minimax-cli/defaultOfficial setup ↗export GEMINI_API_KEY="…"
fm "Hello" -m google/gemini-3.8-flashCreate a key ↗export OPENAI_API_KEY="…"
export ANTHROPIC_API_KEY="…"export ZAI_API_KEY="…"
export MINIMAX_API_KEY="…"npm i -g @google/gemini-cli
gemini
fm "Hello" -m gemini-cli/defaultGoogle moved individual subscription access here in June 2026. fm is waiting for a hard output ceiling and isolated headless contract; direct Gemini API access works today.
fm ready checks the installation, route, and provider setup without inference. fm ready --live sends one 16-output-token-capped prompt and prints MVP VERIFIED only after an actual provider response.
Preview project context without contacting a model using fm pack . --json. Run fm --help or fm COMMAND --help for every option.
Re-run the install command to upgrade. If a route fails, run fm auth, then fm models --live and choose a model your account exposes.
If a test fails, attach this sanitized report. It excludes credential values, prompts, histories, system instructions, vendor account details, and local paths.
fm ready --live proof through Codex; ask and comparison preflights with zero model calls; and a source-shipped cross-platform quality gate.The best interface is the one you already know. Pipes remain pipes. Output remains output. Complexity appears only when you ask for it.
Repeat --url for release notes, issues, papers, or docs. Every page comes back retrieved, failed, or unverified—so a provider refusal can never hide behind a plausible answer.
openai/…anthropic/…google/…structured sourcesAttach a directory with -f. Git ignores stay authoritative; secrets, symlinks, binaries, and build trees stay out. Preview the exact manifest before any model sees it.
Attach PDFs with -p. Text, tables, charts, and layout reach each provider in its native document format.
Pass one portable schema. Each provider constrains generation natively; fm validates again locally and publishes the result atomically.
Every row gets its own recovery chain under one queue-wide token ceiling. In-flight reservations never oversubscribe it; reported savings flow to waiting work and checkpoints fingerprint the policy.
File tools stay inside the workspace. Commands get an isolated home, a credential-scrubbed environment, bounded output, and their own approval gate.
Candidates run in parallel. A judge sees anonymous, untrusted answers and returns a schema-validated winner, rationale, and synthesis. Model identity never enters the evaluation prompt.
Set one output ceiling across parallel candidates, judging, chat turns, or an agent loop. Unused tokens flow forward; missing usage is charged conservatively.
Reuse authenticated ChatGPT, Claude, and MiniMax sessions through their official CLIs; use direct APIs across all six provider families. The Gemini CLI bridge remains explicit for compatible enterprise/API-key installations.
Carry full context across commands, then compress older turns into validated durable memory. Steering stays pinned and revision checks stop concurrent writers from erasing each other.
Backups activate only when reached. Unused routes cannot block the primary; unavailable setup costs no tokens or model calls, and the remaining policy still survives shell exits and forks.
Verify your route, then check the first-party feed without changing your installation. Every upgrade is bounded to this host and SHA-256 verified before pip starts.
Create one attachable diagnostic bundle with versions, platform, route selection, connection state, and sanitized endpoints. Secret values, prompts, histories, instructions, account details, and local paths never enter the report.
Bash, Zsh, Fish, and PowerShell complete the real command surface plus provider routes, reasoning levels, local profiles, and resumable sessions. No credential checks, network requests, prompts, or inference occur.
Detect every supported connection, select what already works, or get an exact provider-specific setup plan. Credential values and account details stay out; setup sends no prompt and performs no inference.
The same concurrency guarantees now use native Windows byte-range locks. Configuration and sessions live in Windows application-data directories; agent commands preserve native quoting and terminate full process trees without a Unix shim.
The source ships a least-privilege, immutable-action workflow spanning Windows, macOS, and Linux on the minimum and current Python releases. Every runner installs the package before the complete suite and installed-command smoke test.
Resolve the real route chain, pack and validate every input, estimate text tokens, and expose the full output authorization without calling a model or changing the session. The same production preparation path powers both preview and execution.
Preview every parallel candidate reservation, the hard run ceiling, and the conditional blind judge before constructing a provider. Shared budgets expose the judge's guaranteed-to-maximum range after candidate savings are reclaimed.
The first useful token should arrive as soon as the provider sends it.
Plain stdout, diagnostics on stderr, stable JSON envelopes, meaningful exit codes.
Conversations save atomically with revision checks. Preferences persist. Secrets never do.
One internal conversation model, purpose-built transports, no lowest-common-denominator API.
No vague magic sandbox. File boundaries, no implicit shell, scrubbed command environments, and distinct authority gates.