~/.feynman/. This directory is created on first run and contains settings, authentication tokens, session history, and installed packages.
Directory structure
settings.json file is the primary configuration file. It is created and maintained by feynman setup and feynman model set, and can be edited manually. Do not edit it while Feynman is running.
settings.json
A typicalsettings.json looks like:
Fields
The
defaultProvider and defaultModel fields are set together. Use feynman model set <provider/model> to change them — this is the recommended way to update your model.Model configuration
ThedefaultProvider and defaultModel fields together select which model Feynman uses when you launch without the --model flag. The format for feynman model set uses a / or : separator:
Recommended models
Feynman ranks models by research suitability. In order of preference:Thinking levels
ThedefaultThinkingLevel field controls how much extended reasoning the model applies before responding. This can be overridden per-session with --thinking or FEYNMAN_THINKING.
Environment variables
Environment variables take precedence oversettings.json. Set them in your shell profile or in a .env file in your working directory.
Feynman runtime
Model provider API keys
Compute providers
Session management
Each conversation is persisted as a file in~/.feynman/sessions/. Sessions allow you to resume previous conversations and maintain context across REPL restarts.
To start a fresh session:
--session-dir flag is particularly useful when you want separate conversation histories for different research projects.
Diagnostics
Runfeynman doctor to verify your configuration, check authentication status for all configured providers, and detect missing optional dependencies:
feynman status shows a compact summary of your current setup: active model, auth status, installed packages, and session directory.