Getting started

Three commands. Two minutes. Free $1 to play with.

Install

uv tool install fredcode

fred is the binary on your PATH after install. If you already have a venv you're happy with, pip install fredcode works too. For other installers (pipx, Homebrew, Windows) see /docs/install.

Log in

fred login

This opens your browser to https://app.fredcode.net/cli/authorize. Sign in (Google, GitHub, email + password, or magic link), click Authorize this device, and your terminal will print:

✓ Logged in as you@example.com

A credential file lands at ~/.config/fred/credentials.json (mode 0600). On macOS the key is also mirrored to your login Keychain if you installed with the [keychain] extra.

If you're on a headless box (SSH, no browser):

fred login --device-code

fred will print a code, you enter it at https://app.fredcode.net/activate from any device, and the CLI continues.

Your first session

fred

You'll see the banner with the active model and permission mode. Type a request:

> fix the off-by-one in src/auth.py

Fred will read the file, propose the edit, and ask permission before running tests or shell commands. Once it's done, the session prints a real per-call cost line (e.g. $0.0034 · 4.2s · 1,247 in / 312 out).

About models

The default is deepseek-v4-flash — fast and cheap, good for almost everything. When you hit a hard turn (gnarly debug, architectural design, math-heavy work), type /pro to swap into deepseek-v4-pro. It's smarter and roughly 12× the output cost; /flash swaps back. See /docs/models for the full breakdown.

One-shot mode

fred -p "summarize what changed in the last commit"

Streams a single answer to stdout and exits. Great for shell pipelines.

What's next

CLI reference — every command and flag. Slash commands /cost, /think, /save, etc. Permissions & --yolo — how the gating works.

Tip

Stuck? See Troubleshooting.