Skip to content

Configuration ​

Settings are stored at ~/.tldr/settings.json. Run tldr config to see your current settings.

Most settings are easier to change interactively with tldr preset edit or /config in interactive mode. The CLI commands below are for when you know exactly what you want.

Summary ​

KeyValuesExample
stylequick, standard, detailed, study-notestldr config set style quick
tonecasual, professional, academic, eli5tldr config set tone professional
traitsComma-separated listtldr config set traits adhd,dyslexia
modelAny model ID (aliases: haiku, sonnet, opus)tldr config set model sonnet
providerclaude-code, anthropic, codex, gemini, ollama, openai, xaitldr config set provider gemini
custom-instructionsFreeform texttldr config set custom-instructions "Focus on code examples"

Tones ​

ToneWhat it sounds like
casual (default)Conversational, like explaining to a colleague
professionalClear and formal, precise and direct
academicAnalytical, references key concepts and terminology
eli5Simple analogies, no jargon, fun and accessible

Summary Styles ​

StyleBest forSections
quickFast overviewTL;DR, Key Points, Why It Matters, Action Items
standard (default)UnderstandingTL;DR, Key Points, Why It Matters, Connections, Action Items
detailedDeep understandingTL;DR, Context, Key Points, Analogy, Notable Details, Action Items
study-notesLearning & reviewTL;DR, Core Concepts, How They Connect, Key Facts, Visual Map, Review Questions

Override for a single run:

bash
tldr --style quick "https://example.com/article"

Audio ​

KeyValuesExample
audio-modepodcast, briefing, lecture, storyteller, study-buddy, calmtldr config set audio-mode briefing
tts-provideredge-tts, openaitldr config set tts-provider openai
tts-modelAny OpenAI TTS model IDtldr config set tts-model tts-1-hd
voiceTTS voice nametldr config set voice en-US-GuyNeural
tts-speedPositive numbertldr config set tts-speed 1.25
pitchlow, default, hightldr config set pitch high
volumequiet, normal, loudtldr config set volume loud

Note: Pitch and Volume only apply to Edge TTS. They are not supported by OpenAI TTS and will be hidden in the preset editor when OpenAI is selected.

See the Audio guide for audio modes, voices, and save-with-audio behavior.

Appearance ​

KeyValuesExample
themecoral, ocean, foresttldr config set theme ocean
appearanceauto, dark, lighttldr config set appearance light

Three themes: coral (warm reds, default), ocean (cool blues), forest (earthy greens).

Three appearance modes: auto (detects system setting, default), dark, light.

Extraction ​

KeyValuesExample
fallback-jinatrue, falsetldr config set fallback-jina false

Jina Reader Fallback ​

When a webpage can't be extracted (JavaScript-rendered SPAs, empty Readability results), tldr automatically retries via Jina Reader, which renders pages server-side and returns clean markdown. This is enabled by default.

Privacy note: When the fallback triggers, the URL is sent to Jina AI's servers (r.jina.ai). No API key is required. To disable this, run:

bash
tldr config set fallback-jina false

When disabled, pages that require JavaScript will show an error message suggesting you paste the text directly.

Global Settings ​

These are top-level settings, not preset-specific. They are not available in the interactive preset editor.

KeyValuesExample
apiKeyYour API keytldr config set apiKey sk-ant-...
baseUrlCustom API endpointtldr config set baseUrl https://proxy.example.com
maxTokensNumbertldr config set maxTokens 2048
output-dirPathtldr config set output-dir ~/summaries
activeProfilePreset nametldr config set activeProfile work
fallback-jinatrue / false (default: true)tldr config set fallback-jina false

Presets ​

Presets let you save different settings for different contexts. tldr ships with 7 built-in presets you can use out of the box or clone and customise.

Built-in Presets ​

PresetAudio ModeStyleToneSpeedVoice
morning-briefbriefingquickprofessional1.15xGuy
commute-catch-uppodcaststandardcasual1.0xJenny
deep-studylecturestudy-notesacademic0.9xAria
exam-prepstudy-buddystudy-notescasual0.95xJenny
bedtime-readcalmstandardcasual0.85xSonia
story-modestorytellerdetailedcasual1.0xGuy
team-debriefbriefingstandardprofessional1.0xJenny

Built-in presets are read-only. To customise one, create a preset with the same name — the built-in settings are used as a starting point.

Managing Presets ​

bash
tldr preset list                  # List presets (* = active)
tldr preset create work           # Create a new preset
tldr preset use work              # Switch active preset
tldr preset edit work             # Edit preset settings (interactive)
tldr preset delete work           # Delete a preset
tldr --preset morning-brief <url> # Use a preset for one run

In interactive mode, type /preset to switch presets without leaving the TUI.

Interactive Commands ​

In interactive mode, type / to access commands:

CommandDescription
/historyBrowse and resume past sessions
/setupRe-run the first-time setup wizard
/configEdit current preset settings
/themeChange color theme
/presetSwitch between presets
/helpShow shortcuts and commands
/quitExit the app

Saving chat transcripts ​

Press Ctrl+s in chat view to save the conversation as chat.md in the session directory. After the first save, every completed assistant message auto-saves the full conversation. If the summary hasn't been saved yet, saving the chat also creates the session directory and saves the summary.

Per-Style Model Configuration ​

Each summary style can use a different model. Configure in settings.json:

json
{
  "profiles": {
    "default": {
      "styleModels": {
        "quick": "haiku",
        "detailed": "sonnet",
        "study-notes": "opus"
      }
    }
  }
}

When no styleModels are configured, all styles default to Opus.

Model Selection ​

The interactive preset editor (tldr preset edit / /config) fetches available models from your provider's API and shows them as a selectable list. If the API is unreachable or the provider doesn't support model listing, it falls back to a free-text input. CLI providers (claude-code, codex) always use a free-text input.

Model results are cached locally so subsequent edits are instant.

If you enter an invalid model ID, tldr suggests the closest match from your provider's available models.

Anthropic Aliases ​

For the Anthropic provider, short aliases like haiku, sonnet, and opus resolve to the latest available model in that tier automatically.

Environment Variables ​

Environment variables override file settings:

VariableOverrides
ANTHROPIC_API_KEYapiKey
ANTHROPIC_BASE_URLbaseUrl
ANTHROPIC_MODELmodel
OPENAI_API_KEYapiKey (if ANTHROPIC_API_KEY not set)
OPENAI_BASE_URLbaseUrl (if ANTHROPIC_BASE_URL not set)
GEMINI_API_KEYAPI key for Gemini provider
XAI_API_KEYAPI key for xAI provider
XAI_BASE_URLCustom base URL for xAI
OLLAMA_BASE_URLOllama server URL (default http://localhost:11434)

Resolution Order ​

Settings are resolved in this order (first wins):

  1. CLI flags (--model, --style, --preset, --provider, --audio-mode)
  2. Environment variables
  3. Preset/profile settings in settings.json
  4. Built-in defaults

Defaults ​

SettingDefault
Providerclaude-code (Claude Code)
Summary stylestandard
ModelOpus (claude-opus-4-6)
Audio modepodcast
Cognitive traitsdyslexia
Tonecasual
Voiceen-US-JennyNeural
TTS speed1.0x
Pitchdefault
Volumenormal
TTS provideredge-tts
TTS modeltts-1
Save audiofalse
Themecoral
Appearanceauto

Released under the MIT License.