Claude Code (subscription)

~3 min read

Claude Code (subscription)

Run Lettuce’s LLM-powered features through the Claude Code app on your Mac, billed to the Claude Pro/Max subscription you’re signed into there — no API key. Lettuce never sees a credential: it talks to your local claude command, which holds its own login.

Good fit if you already pay for a Claude subscription and want note enhancement, drafts, mention filtering, and lint suggestions without separate API billing. As with the API provider, semantic search / embeddings are separate — they need an OpenAI-compatible embeddings endpoint (a local Ollama works; see AI providers/04 OpenAI-compatible and local models).

Setup

  1. Install Claude Code — from https://claude.com/claude-code (installer script, Homebrew, or npm).

  2. Sign in once — run claude in a terminal and choose Log in with Claude account, authenticating with the claude.ai account that has your Pro or Max plan.

  3. Pick the providerSettings → AI enhancement → Provider → Claude Code (subscription). The Status row turns green (“Using /Users/you/.local/bin/claude”) when Lettuce can see the binary. There is no key field — there’s no key.

Or via environment variables for the CLI:

export LETTUCE_LLM_PROVIDER=claudeCode
export LETTUCE_CLAUDE_BIN=$HOME/.local/bin/claude   # optional — only if auto-detection misses it

Choosing a model

Models are tier aliases, not API model IDs — Claude Code resolves each to the current model of that tier on your plan:

Alias Good for
sonnet Balanced default
opus Highest-quality reasoning
haiku Simple / fast tasks

Set it in Settings or with LETTUCE_ENHANCE_MODEL=opus.

How a call works (and privacy)

Each AI action is a single headless invocation of your claude binary. Lettuce disables Claude Code’s agent tools and MCP servers for the call, so it’s a plain completion: no file access, no permission prompts, nothing runs but the model. Only the note content you’re enhancing travels — the same content the API provider would send.

Limits and troubleshooting