Environment Variables Complete list of environment variables
Ripperdoc can be configured through environment variables. For model and credential settings, Ripperdoc only reads RIPPERDOC_* variables (provider-specific env vars like OPENAI_API_KEY are ignored). If you already set api_key in your config, you can skip RIPPERDOC_API_KEY.
Any RIPPERDOC_* variable overrides the corresponding config field in memory for the current session (no changes are written to disk). If no profile exists, set at least one of RIPPERDOC_MODEL, RIPPERDOC_PROTOCOL, or RIPPERDOC_BASE_URL so Ripperdoc can construct a profile. When RIPPERDOC_PROTOCOL is not set, it is inferred from the base URL and/or model name.
Variable Description RIPPERDOC_BASE_URLAPI base URL RIPPERDOC_API_KEYAPI key for the base URL RIPPERDOC_AUTH_TOKENBearer token (alternative to API key) RIPPERDOC_MODELModel name (main pointer) RIPPERDOC_SMALL_FAST_MODELQuick model name (quick pointer) RIPPERDOC_PROTOCOLProvider override (anthropic, openai_compatible, gemini)
Example:
RIPPERDOC_BASE_URL = https://api.example.com/v1
RIPPERDOC_API_KEY = YOUR_API_KEY
RIPPERDOC_MODEL = gpt-4o-mini
RIPPERDOC_PROTOCOL = openai_compatible
Variable Description Default RIPPERDOC_API_TIMEOUTAPI request timeout (seconds) 120RIPPERDOC_MAX_RETRIESMaximum API retry attempts 10RIPPERDOC_TOOL_TIMEOUTPer-tool execution timeout (seconds) 300RIPPERDOC_CONCURRENT_TOOL_TIMEOUTTotal timeout for concurrent tool batches (seconds) 600
Variable Description Default RIPPERDOC_CONTEXT_TOKENSContext window size limit Model default RIPPERDOC_AUTO_COMPACTEnable automatic compaction trueRIPPERDOC_MAX_QUERY_ITERATIONSMaximum query loop iterations 1024RIPPERDOC_MESSAGE_WARNING_THRESHOLDMessage count for warning 500RIPPERDOC_MESSAGE_CRITICAL_THRESHOLDMessage count for critical warning 1000RIPPERDOC_RESUME_REPLAY_MAX_MESSAGESMax messages to replay on resume (-1 for all, 0 to skip) 120
Variable Description Default RIPPERDOC_FILE_CACHE_MAX_ENTRIESMax cached file entries 500RIPPERDOC_FILE_CACHE_MAX_MEMORY_MBMax file cache memory (MB) 50RIPPERDOC_MAX_READ_FILE_SIZE_BYTESMax file size to read (bytes) 262144RIPPERDOC_MAX_READ_LINESMax lines to read without limit 2000
Variable Description Default RIPPERDOC_BASH_TIMEOUT_MSDefault bash timeout (ms) 120000RIPPERDOC_BASH_MAX_TIMEOUT_MSMaximum bash timeout (ms) 600000RIPPERDOC_BASH_MAX_OUTPUT_LENGTHMax output characters 30000RIPPERDOC_BASH_TASK_TTL_SECBackground task TTL (seconds) 3600
Variable Description Default RIPPERDOC_SHELLPreferred shell Auto-detected RIPPERDOC_SHELL_PATHPath to shell executable Auto-detected
Variable Description Default RIPPERDOC_LSP_TIMEOUTLSP request timeout (seconds) 20
Variable Description Default RIPPERDOC_MCP_MAX_OUTPUT_TOKENSMax MCP output tokens 50000RIPPERDOC_MCP_WARNING_TOKENSMCP warning threshold 40000
Variable Description Default RIPPERDOC_AGENT_RUN_TTL_SECAgent run time-to-live (seconds) 3600
Variable Description Default RIPPERDOC_LOG_LEVELLog level (DEBUG, INFO, WARNING, ERROR) WARNING
Variable Description Default RIPPERDOC_DEBUGEnable debug mode falseRIPPERDOC_DEV_MODEEnable development mode false
# Model overrides (env-only)
RIPPERDOC_BASE_URL = https://api.example.com/v1
RIPPERDOC_API_KEY = YOUR_API_KEY
RIPPERDOC_MODEL = gpt-4o-mini
RIPPERDOC_PROTOCOL = openai_compatible
# Timeouts
RIPPERDOC_API_TIMEOUT = 180
RIPPERDOC_MAX_RETRIES = 5
# Context
RIPPERDOC_CONTEXT_TOKENS = 100000
RIPPERDOC_AUTO_COMPACT = true
# Bash settings
RIPPERDOC_BASH_TIMEOUT_MS = 300000
RIPPERDOC_BASH_TASK_TTL_SEC = 7200
# File settings
RIPPERDOC_MAX_READ_FILE_SIZE_BYTES = 1048576
RIPPERDOC_MAX_READ_LINES = 4000
# LSP settings
RIPPERDOC_LSP_TIMEOUT = 30
# Logging
RIPPERDOC_LOG_LEVEL = WARNING
export RIPPERDOC_BASE_URL = "https://api.example.com/v1"
export RIPPERDOC_API_KEY = "YOUR_API_KEY"
export RIPPERDOC_MODEL = "gpt-4o-mini"
export RIPPERDOC_PROTOCOL = "openai_compatible"
ripperdoc
Create a .env file in your project root:
RIPPERDOC_BASE_URL = https://api.example.com/v1
RIPPERDOC_API_KEY = YOUR_API_KEY
RIPPERDOC_MODEL = gpt-4o-mini
RIPPERDOC_PROTOCOL = openai_compatible
Then use a tool like direnv or source it manually:
import os
os.environ[ "RIPPERDOC_BASE_URL" ] = "https://api.example.com/v1"
os.environ[ "RIPPERDOC_API_KEY" ] = "YOUR_API_KEY"
os.environ[ "RIPPERDOC_MODEL" ] = "gpt-4o-mini"
os.environ[ "RIPPERDOC_PROTOCOL" ] = "openai_compatible"
from ripperdoc.sdk import query
Never commit API keys to version control
Use .env.local for local overrides (add to .gitignore)
Rotate keys if accidentally exposed
Use environment-specific keys for different environments