Configuration Reference
This page is the compact reference for the configuration keys documented by RightNow Agent. Use it after the Configuration guide when you need a file, default, or resolution rule.
Precedence is field-specific: security requirements can outrank command-line and environment values, while model, project, and appearance settings use narrower rules shown below.
config.toml is active configuration, config/rightnow.toml is the source template, and installer.toml records installer and update state. pager.toml separately controls TUI appearance.
Precedence
File layers merge from system managed, user managed, and user configuration through user requirements, system requirements, and macOS managed preferences; later layers win. CLI and environment overrides then follow each setting's documented resolver, so there is no single universal order.
Project configuration is limited to MCP servers, plugins, permission rules, and [mcp] max_output_bytes. Project MCP servers use the nearest definition by server name. Trusted project plugin paths and project disabled entries extend the user configuration. Permission rules merge by severity, with deny above ask above allow.
config.toml keys
Dynamic model and provider fields are expanded on the Providers page; sandbox fields are expanded on the Sandbox page.
| Key | File | Default | Resolution |
|---|---|---|---|
| cli.auto_update | config.toml | off when unset; on only when set to true | effective file layers; only explicit true opts in |
| cli.channel | config.toml | stable | config.toml > RIGHTNOW_CHANNEL > installer.toml > stable |
| cli.minimum_version / cli.maximum_version | config.toml | unset / unset | Tightest file or environment soft bound |
| cli.required_minimum_version / cli.required_maximum_version | config.toml | unset / unset | Tightest requirements, file, or environment hard bound |
| models.default | config.toml | shipped: runinfra | CLI -m > config.toml > catalog selection |
| models.web_search | config.toml | built-in search model | CLI web-search override > environment > local config > remote > built-in |
| models.session_summary / models.image_description / models.prompt_suggestion | config.toml | config unset; runtime built-in / built-in / consumer default | CLI or environment where supported > config.toml > remote > runtime default |
| models.extra_headers / models.temperature / models.top_p / models.max_completion_tokens / models.max_retries / models.inference_idle_timeout_secs / models.stream_tool_calls | config.toml | unset; inherit catalog or client behavior | model entry > remote or catalog values > models defaults |
| ui.simple_mode / ui.vim_mode | config.toml | true / false | effective file layers > built-in defaults |
| ui.max_thoughts_width | config.toml | shipped: 120 | effective file layers > built-in default |
| ui.default_selected_permission | config.toml | always_allow_all_sessions | environment > config.toml > default |
| ui.permission_mode | config.toml | ask | CLI mode flags > effective [ui] value > remote permission_mode > ask |
| ui.disable_bypass_permissions_mode | requirements.toml | false | a true requirement locks always-approve off |
| ui.remember_tool_approvals / ui.show_thinking_blocks / ui.group_tool_verbs / ui.collapsed_edit_blocks | config.toml | false / true / true / false | effective file layers > built-in defaults |
| ui.page_flip_on_send / ui.follow_up_behavior / ui.compact_mode | config.toml | true / queue / false | effective file layers > built-in defaults |
| ui.screen_mode | config.toml | unset | CLI screen flag > config.toml > terminal policy |
| ui.scroll_speed / ui.scroll_mode / ui.scroll_lines / ui.invert_scroll | config.toml | 50 / auto / unset / false | environment > config.toml > defaults |
| features.telemetry / features.feedback / features.lsp_tools | config.toml | false / true / false | requirements > environment > config.toml > remote > built-in defaults |
| features.two_pass_compaction | config.toml | false | environment > config.toml > remote > built-in default |
| features.codebase_indexing | config.toml | true | effective file layers > built-in default |
| features.remote_fetch | config.toml | built-in true; shipped false | requirements > managed configuration > user config.toml > built-in default; no environment or remote tier |
| features.turn_summary | config.toml | built-in true; shipped false | environment > config.toml > remote > built-in default |
| rightnow.config_version / rightnow.warm_daemon / rightnow.warm_daemon_persistent / rightnow.one_call_transactions / rightnow.preload_named_files / rightnow.workspace_map | config.toml | shipped: 6 / true / false / true / true / true | effective file layers > parser defaults |
| rightnow.act_first / rightnow.retry_recoverable_tool_failures / rightnow.bounded_prompt_slimming / rightnow.dynamic_tools / rightnow.context_packing / rightnow.eager_tools | config.toml | shipped: false / true / true / true / unset / true | effective file layers > parser defaults |
| rightnow.turn_model_call_limit / rightnow.turn_time_budget_secs / rightnow.turn_repeated_failure_limit / rightnow.turn_spend_limit_microcents | config.toml | shipped: 24 / 600 / 3 / 5000000 | effective file layers > parser defaults |
| rightnow.web_fetch / rightnow.web_search_engine / rightnow.disallowed_tools | config.toml | shipped: true / duckduckgo / image and video tools | environment may override web fetch and search |
| agent.name / agent.definition | config.toml | unset / unset | ACP session metadata > CLI > config.toml > environment > built-in agent |
| agent.system_prompt_label | config.toml | shipped: RightNow | model entry > agent config > built-in label |
| session.auto_compact_threshold_percent | config.toml or model entry | 85 | environment > [model.<id>] > [session] > remote per-model > remote global > 85 |
| session.load_envrc | config.toml | true | effective file layers > built-in default |
| tools.respect_gitignore | config.toml | false | requirements > environment > config.toml > default |
| toolset.bash.timeout_secs / toolset.bash.output_byte_limit | config.toml | 120 / 20000 | effective file layers > built-in defaults |
| toolset.ask_user_question.timeout_enabled / toolset.ask_user_question.timeout_secs | config.toml | true / 1800 | requirements > environment > user config > managed config > remote > default |
| toolset.web_fetch.proxy_endpoint | config.toml | unset | config.toml > RIGHTNOW_WEB_FETCH_PROXY > remote > unset |
| toolset.web_fetch.allowed_domains | config.toml | built-in list | config.toml > remote > built-in list |
| toolset.web_fetch.allow_local | config.toml | false | config.toml > RIGHTNOW_WEB_FETCH_ALLOW_LOCAL > false |
| toolset.web_search.allowed_domains / toolset.web_search.excluded_domains | config.toml | unset / unset | requirements > user > managed > defaults |
| hub.url | config.toml | unset; hub disabled | CLI --hub-url > config.toml |
| mcp_servers.*.command / mcp_servers.*.args / mcp_servers.*.env / mcp_servers.*.url / mcp_servers.*.headers | config.toml or project config | one transport required; optional fields unset or empty | nearest project entry replaces user entry by server name |
| mcp_servers.*.enabled / mcp_servers.*.startup_timeout_sec / mcp_servers.*.tool_timeout_sec / mcp_servers.*.tool_timeouts | config.toml or project config | true / 30 / 6000 / empty | nearest project entry replaces user entry by server name |
| mcp_servers.*.cwd / mcp_servers.*.type / mcp_servers.*.bearer_token_env_var / mcp_servers.*.oauth / mcp_servers.*.oauth_client_id / mcp_servers.*.oauth_client_secret_env_var / mcp_servers.*.oauth_scopes / mcp_servers.*.setup / mcp_servers.*.expose_image_base64 | config.toml or project config | unset / unset / unset / unset / unset / unset / empty / unset / false | nearest project entry replaces user entry by server name |
| mcp.max_output_bytes | config.toml or project config | 20000 | requirements > environment > project > user > remote > default |
| mcp.startup_timeout_sec | config.toml | 30 | per-server value > requirements > environment > config.toml > remote > default |
| permission.allow / permission.ask / permission.deny / permission.rules | config.toml or project config | empty | rules merge; deny > ask > allow |
| sandbox.profile | config.toml | off | requirement > CLI > environment > config.toml > default |
| sandbox.auto_allow_bash | config.toml | false | requirement > environment > config.toml > default |
| shell_environment_policy.inherit / shell_environment_policy.ignore_default_excludes / shell_environment_policy.exclude / shell_environment_policy.include_only / shell_environment_policy.set | config.toml | all / false / empty / empty / empty | effective file layers > built-in defaults |
| memory.enabled | config.toml | built-in false; shipped true | CLI memory flags > environment > local section > remote > built-in default |
| memory.session.save_on_end | config.toml | true | effective file layers > built-in default |
| memory.watcher.enabled | config.toml | true | local subsection > remote value > built-in default |
| memory.index.max_chunk_chars / memory.index.chunk_overlap_chars | config.toml | 1600 / 320 | effective file layers > built-in defaults |
| memory.search.max_results / memory.search.min_score / memory.search.vector_weight / memory.search.text_weight / memory.search.recency_decay | config.toml | 6 / 0.35 / 0.7 / 0.3 / 0.95 | local subsection > matching remote values > built-in defaults |
| memory.search.temporal_decay.enabled / memory.search.temporal_decay.half_life_days | config.toml | true / 7 | local subsection > matching remote values > built-in defaults |
| memory.search.mmr.enabled / memory.search.mmr.lambda / memory.search.source_weights.* | config.toml | false / 0.7 / 1.0 | local subsection > matching remote values > built-in defaults |
| memory.initial_injection.enabled / memory.initial_injection.min_score | config.toml | true / runtime 0.0 when unset | local subsection > matching remote values > built-in defaults |
| memory.embedding.provider / memory.embedding.model / memory.embedding.dimensions | config.toml | api / unset / 1024 | local subsection > matching remote values > built-in defaults |
| memory.watcher.stale_claim_secs / memory.gc.max_age_days | config.toml | 60 / 30 | effective file layers > built-in defaults |
| memory.dream.enabled / memory.dream.min_hours / memory.dream.min_sessions / memory.dream.stale_lock_secs / memory.dream.check_interval_secs | config.toml | true / 4 / 3 / 3600 / unset | local subsection > matching remote values > built-in defaults |
| compaction.memory_flush.enabled / compaction.memory_flush.soft_threshold_tokens / compaction.memory_flush.flush_model / compaction.memory_flush.max_flush_write_chars / compaction.memory_flush.idle_timeout_secs / compaction.memory_flush.semantic_dedup_threshold | config.toml | true / 4000 / session model / 8000 / unset / runtime 0.92 when unset | local subsection > matching remote values > built-in defaults |
| compaction.pruning.enabled / compaction.pruning.keep_last_n_turns / compaction.pruning.soft_trim_threshold / compaction.pruning.soft_trim_head / compaction.pruning.soft_trim_tail / compaction.pruning.hard_clear_age_turns | config.toml | true / 3 / 4000 / 1500 / 1500 / 10 | local subsection > matching remote values > built-in defaults |
| subagents.enabled | config.toml | true | CLI --subagents > environment > config.toml > default; no remote tier |
| subagents.max_depth / subagents.max_concurrent / subagents.limit_behavior / subagents.workflow_max_concurrent | config.toml | 1 / 32 / queue / 32 | environment > config.toml > remote > default |
| subagents.toggle.* / subagents.models.* / subagents.roles.* / subagents.personas.* | config.toml or role/persona files | omitted types enabled / no overrides or definitions | inline config > native discovery > legacy discovery |
| workflows.enabled | config.toml | true | remote false veto; otherwise environment > config.toml > remote true > default |
| skills.paths / skills.ignore / skills.disabled | config.toml | empty / empty / empty | effective file layers > built-in roots |
| plugins.paths / plugins.disabled | config.toml or project config | empty / empty | effective user configuration; trusted project paths and project disabled entries extend it |
| plugins.enabled | config.toml | empty | effective file layers; enables matching discovered plugins |
| compat.cursor.skills / compat.cursor.rules / compat.cursor.agents / compat.cursor.mcps / compat.cursor.hooks | config.toml | built-in true; shipped disables skills, rules, and agents | environment > config.toml > remote > default |
| compat.claude.skills / compat.claude.rules / compat.claude.agents / compat.claude.plugins / compat.claude.mcps / compat.claude.hooks | config.toml | built-in true; shipped disables skills, rules, and agents | environment > config.toml > remote > default |
| compat.cursor.sessions / compat.claude.sessions / compat.codex.sessions | config.toml | true; staged and inert | environment > config.toml > remote > default |
| compat.codex.skills / compat.codex.rules / compat.codex.agents / compat.codex.mcps / compat.codex.hooks | config.toml | true; reserved and inert | environment > config.toml > default; no remote tier |
| dashboard.enabled | config.toml | true | RIGHTNOW_AGENT_DASHBOARD=0 disables; otherwise config.toml > default |
| dashboard.grouping / dashboard.pinned / dashboard.reorder | config.toml | state / empty / empty | user config.toml > built-in defaults |
| worktrees.max_subagent_worktrees | config.toml | 8 | environment > config.toml > default |
| worktree.auto_gc.enabled / worktree.auto_gc.max_age_secs / worktree.auto_gc.dry_run / worktree.auto_gc.include_rebuild | config.toml | true / 604800 / false / false | process overrides where implemented > config.toml > remote > defaults |
| worktree.auto_gc.min_interval_secs / worktree.auto_gc.include_orphan_snapshots / worktree.auto_gc.rebuild_min_interval_secs | config.toml | 21600 / Linux true, other platforms false / 86400 | config.toml > remote > defaults |
| worktree.auto_gc.max_age_by_kind.* | config.toml | manual never; other entries unset | config.toml per-kind value > remote per-kind value > product default |
| folder_trust.enabled | config.toml | true in release builds; forced false in development builds | release: environment > user config > managed > remote > default |
| marketplace.require_sha / marketplace.sources | config.toml | false / empty | require_sha is tighten-only across environment and config; sources come from config.toml |
| ui.theme | config.toml | shipped: rightnow-night | RIGHTNOW_THEME > LC_RIGHTNOW_THEME > config.toml > built-in default |
| ui.auto_dark_theme / ui.auto_light_theme | config.toml | rightnow-night / rightnow-day | effective file layers > built-in auto-mode mappings |
| ui.voice_keybind_enabled | config.toml | shipped: false | effective file layers > built-in default |
| hints.memory_modal_fullscreen / hints.new_session_worktree_mode / hints.fork_worktree_mode | config.toml | false / never / ask | requirements > user > managed > system managed |
| ui.notifications.method / ui.notifications.condition / ui.notifications.idle_threshold_secs / ui.notifications.events | config.toml | auto / unfocused / 3 / turn_complete and approval_required | effective file layers > built-in defaults |
| ui.notifications.sleep_prevention / ui.notifications.progress_bar / ui.notifications.title.enabled / ui.notifications.title.items | config.toml | true / true / true / action-required, spinner, activity, session-name, rightnow | effective file layers > built-in defaults |
| ui.notifications.hooks[].command / ui.notifications.hooks[].events / ui.notifications.hooks[].only_unfocused / ui.notifications.hooks[].timeout_secs | config.toml | required / empty / true / 10 | effective file layers > built-in defaults |
| telemetry.events_url / telemetry.events_api_key / telemetry.mixpanel_enabled | config.toml | build-seeded or unset / build-seeded or unset / build-seeded or false | environment > effective file layers > build-seeded defaults |
| telemetry.trace_upload | config.toml | inherits effective telemetry unless telemetry is remote-sourced | requirement > environment > config.toml > inherited effective telemetry |
| telemetry.otel_enabled / telemetry.otel_log_user_prompts / telemetry.otel_log_tool_details | config.toml | false / false / false | requirements > environment > config.toml; a caller-supplied settings snapshot can only disable or lock |
| telemetry.otel_metrics_exporter / telemetry.otel_logs_exporter / telemetry.otel_endpoint / telemetry.otel_protocol | config.toml | none / none / local collector / http/protobuf | environment > config.toml > defaults; a caller-supplied settings snapshot may disable the stream |
| endpoints.cli_chat_proxy_base_url / endpoints.api_base_url / endpoints.models_base_url / endpoints.models_list_url / endpoints.feedback_base_url / endpoints.trace_upload_url / endpoints.trace_upload_endpoint_url / endpoints.managed_config_url | config.toml | environment values or built-in API base | config.toml > environment-seeded defaults |
| endpoints.deployment_key | config.toml | RIGHTNOW_DEPLOYMENT_KEY or unset | config.toml > environment-seeded default |
| endpoints.trace_upload_bucket | config.toml | RIGHTNOW_TRACE_UPLOAD_BUCKET or unset | RIGHTNOW_TELEMETRY_GCS_BUCKET > config.toml > RIGHTNOW_TRACE_UPLOAD_BUCKET > unset |
pager.toml keys
pager.toml controls TUI appearance separately from config.toml, and changes apply after restart.
| Key | Documented default | File and precedence |
|---|---|---|
| show_plan_chip | false | pager.toml, then built-in default |
| terminal.alt_screen | auto | pager.toml, then built-in default |
| terminal.minimal / terminal.minimal_live_rows / terminal.minimal_max_commit_rows / terminal.minimal_collapse_thinking | false / 10 / 2000 / false | pager.toml, then built-in default |
| animation.fps / animation.wave_rows / animation.show_fps | 30 / 32 / false | pager.toml, then built-in default |
| prompt.collapse_unfocused / prompt.mouse_hover / prompt.show_prefix | true / true / true | pager.toml, then built-in default |
| scrollback.layout.outer_vpad / scrollback.layout.outer_hpad_left / scrollback.layout.outer_hpad_right / scrollback.layout.block_pad_left / scrollback.layout.block_pad_right | 1 / 2 / 2 / 2 / 2 | pager.toml, then built-in default |
| scrollback.scrollbar.enabled / scrollback.scrollbar.gap_left / scrollback.scrollbar.gap_right / scrollback.scrollbar.scrollbar_bg / scrollback.scrollbar.scrollbar_fg | true / 0 / 0 / none / none | pager.toml, then built-in default |
| scrollback.scroll.margin / scrollback.scroll.min_page_fraction / scrollback.scroll.follow_indicator / scrollback.scroll.follow_auto_select / scrollback.scroll.follow_by_overscroll / scrollback.scroll.anchor_on_fold / scrollback.scroll.respect_manual_folds | 0 / 0 / center / true / true / true / false | pager.toml, then built-in default |
| scrollback.display.sticky_headers / scrollback.display.tab_width / scrollback.display.expandable_indicator / scrollback.display.expandable_indicator_running / scrollback.display.expandable_indicator_char / scrollback.display.collapsed_accent_char / scrollback.display.group_max_visible | true / 4 / true / true / › / theme glyph / 10 | pager.toml, then built-in default |
| scrollback.display.selection_buttons / scrollback.display.line_under_last_entry / scrollback.display.group_selection_split / scrollback.display.highlight_overlays_border / scrollback.display.dim_accent | false / false / true / false / 0.5 | pager.toml, then built-in default |
| scrollback.blocks.edit.indent / scrollback.blocks.edit.vpad / scrollback.blocks.edit.bg / scrollback.blocks.edit.accent_bg / scrollback.blocks.edit.accent / scrollback.blocks.edit.gutter_bg / scrollback.blocks.edit.indent_bg | true / false / none / false / none / false / false | pager.toml, then built-in default |
| scrollback.blocks.edit.expanded_by_default / scrollback.blocks.edit.dual_line_numbers / scrollback.blocks.edit.line_summary / scrollback.blocks.edit.hunk_separator | unset / false / unset / … | pager.toml, then built-in default |
| scrollback.blocks.prompt.vpad / scrollback.blocks.prompt.bg / scrollback.blocks.prompt.accent_bg / scrollback.blocks.prompt.show_prefix / scrollback.blocks.prompt.min_lines | true / light / false / true / 2 | pager.toml, then built-in default |
| scrollback.blocks.thinking.accent / scrollback.blocks.thinking.accent_enabled / scrollback.blocks.thinking.bg_blend / scrollback.blocks.thinking.animate / scrollback.blocks.thinking.truncated_lines / scrollback.blocks.thinking.header / scrollback.blocks.thinking.header_bright | none / true / 70 / true / 3 / true / false | pager.toml, then built-in default |
| scrollback.blocks.tool.muted_collapsed / scrollback.blocks.tool.dim_details / scrollback.blocks.tool.bullet | true / true / diamond | pager.toml, then built-in default |
| scrollback.blocks.list_dir.terminal_bg | true | pager.toml, then built-in default |
| scrollback.blocks.execute.first_lines / scrollback.blocks.execute.last_lines / scrollback.blocks.execute.accent_enabled / scrollback.blocks.execute.running_accent / scrollback.blocks.execute.header_style / scrollback.blocks.execute.muted_command_collapsed | 2 / 3 / true / none / label / true | pager.toml, then built-in default |
| todo.badge_format | default | pager.toml, then built-in default |
| disable_plugins | false | pager.toml, then built-in default |
Environment variables
The variables below are read by the documented configuration surfaces. Their resolution follows the field-specific rules above; it is not one universal environment-over-file order.
| Group | Variables | Unset behavior | Resolution |
|---|---|---|---|
| Authentication | RIGHTNOW_API_KEY, RUNINFRA_GATEWAY_KEY, CEREBRAS_API_KEY, GROQ_API_KEY, OPENROUTER_API_KEY, AI_GATEWAY_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY | unset | Environment credential > stored credential |
| Authentication | RIGHTNOW_AUTH_PATH | <RIGHTNOW_HOME>/auth.json | Environment path replaces the default store path |
| Authentication | RIGHTNOW_AUTH | unset | Inline environment credential > stored credential |
| Authentication | RIGHTNOW_AUTH_PROVIDER_COMMAND / RIGHTNOW_AUTH_EARLY_INVALIDATION_SECS | unset / 300 | Environment-only helper and refresh-window settings |
| Endpoints | RIGHTNOW_CLI_CHAT_PROXY_BASE_URL / RIGHTNOW_API_BASE_URL | unset / built-in first-party endpoint | config.toml > environment-seeded default |
| Model discovery | RIGHTNOW_MODELS_BASE_URL / RIGHTNOW_MODELS_LIST_URL | base unset / list derives from model base, then CLI proxy, else unset | config.toml > environment-seeded values; explicit list URL > model base /models > CLI proxy /models |
| Web-search model | RIGHTNOW_WEB_SEARCH_MODEL | built-in search model | CLI web-search override > environment > [models].web_search > remote > built-in default |
| Operational endpoints | RIGHTNOW_FEEDBACK_BASE_URL / RIGHTNOW_TRACE_UPLOAD_URL / RIGHTNOW_TRACE_UPLOAD_ENDPOINT_URL / RIGHTNOW_MANAGED_CONFIG_URL | unset | config.toml > environment-seeded default |
| Trace upload bucket | RIGHTNOW_TELEMETRY_GCS_BUCKET / RIGHTNOW_TRACE_UPLOAD_BUCKET | unset / unset | RIGHTNOW_TELEMETRY_GCS_BUCKET > [endpoints].trace_upload_bucket seeded by RIGHTNOW_TRACE_UPLOAD_BUCKET > unset |
| Memory | RIGHTNOW_MEMORY | built-in 0; shipped config enables memory | --no-memory > --experimental-memory > environment > local [memory] section > remote > built-in default |
| Subagents | RIGHTNOW_SUBAGENTS | 1 | --subagents > environment > local [subagents] section > built-in default; no remote tier |
| Workflows | RIGHTNOW_WORKFLOWS | 1 | remote false veto; otherwise environment > config.toml > remote true > built-in default |
| Claude plugin compatibility | RIGHTNOW_CLAUDE_PLUGINS_ENABLED | 1 | environment > [compat.claude].plugins > remote > built-in default |
| Cursor compatibility | RIGHTNOW_CURSOR_SKILLS_ENABLED / RIGHTNOW_CURSOR_RULES_ENABLED / RIGHTNOW_CURSOR_AGENTS_ENABLED / RIGHTNOW_CURSOR_MCPS_ENABLED / RIGHTNOW_CURSOR_HOOKS_ENABLED | built-in 1; shipped config disables skills, rules, and agents | environment > corresponding [compat.cursor] key > remote > built-in default |
| Claude compatibility | RIGHTNOW_CLAUDE_SKILLS_ENABLED / RIGHTNOW_CLAUDE_RULES_ENABLED / RIGHTNOW_CLAUDE_AGENTS_ENABLED / RIGHTNOW_CLAUDE_MCPS_ENABLED / RIGHTNOW_CLAUDE_HOOKS_ENABLED | built-in 1; shipped config disables skills, rules, and agents | environment > corresponding [compat.claude] key > remote > built-in default |
| Compatibility sessions | RIGHTNOW_CURSOR_SESSIONS_ENABLED / RIGHTNOW_CLAUDE_SESSIONS_ENABLED / RIGHTNOW_CODEX_SESSIONS_ENABLED | 1; staged and inert | environment > corresponding [compat] key > remote > built-in default |
| Reserved Codex compatibility | RIGHTNOW_CODEX_SKILLS_ENABLED / RIGHTNOW_CODEX_RULES_ENABLED / RIGHTNOW_CODEX_AGENTS_ENABLED / RIGHTNOW_CODEX_MCPS_ENABLED / RIGHTNOW_CODEX_HOOKS_ENABLED | 1; accepted but runtime-inert | environment > corresponding [compat.codex] key > built-in default |
| Web fetch | RIGHTNOW_WEB_FETCH | shipped 1 | requirements > environment > configured fallback > remote |
| Web-fetch network | RIGHTNOW_WEB_FETCH_ALLOW_LOCAL / RIGHTNOW_WEB_FETCH_PROXY | 0 / unset | allow_local: config.toml > environment > default; proxy: config.toml > environment > remote > unset |
| Web search | RIGHTNOW_WEB_SEARCH_ENGINE / RIGHTNOW_BRAVE_SEARCH_API_KEY | duckduckgo / unset | Environment overrides the configured engine; the credential is environment-only |
| Session selection | RIGHTNOW_AGENT / RIGHTNOW_SANDBOX / RIGHTNOW_EXIT_TIMEOUT_SECS | unset / off / 20 | Agent: ACP metadata > CLI > config > environment > built-in; sandbox: requirement > CLI > environment > config; exit timeout: environment > default |
| Interface | RIGHTNOW_DEFAULT_SELECTED_PERMISSION / RIGHTNOW_SCROLL_SPEED / RIGHTNOW_SCROLL_MODE / RIGHTNOW_SCROLL_LINES / RIGHTNOW_INVERT_SCROLL | always_allow_all_sessions / 50 / auto / unset / false | Environment > config.toml > built-in defaults |
| Tool behavior | RIGHTNOW_ASK_USER_QUESTION_TIMEOUT_ENABLED / RIGHTNOW_ASK_USER_QUESTION_TIMEOUT_SECS / RIGHTNOW_RESPECT_GITIGNORE | true / 1800 / false | Requirements where supported > environment > config.toml > defaults |
| MCP limits | RIGHTNOW_MCP_STARTUP_TIMEOUT_SECS / MCP_TIMEOUT | 30 seconds / unset | Per-server setting > requirements > environment > effective config > remote > 30 seconds |
| MCP limits | RIGHTNOW_MAX_MCP_OUTPUT_BYTES / MAX_MCP_OUTPUT_BYTES | 20000 bytes | Requirements > environment > project > user > remote > default |
| Theme | RIGHTNOW_THEME / LC_RIGHTNOW_THEME | rightnow-night | RIGHTNOW_THEME > LC_RIGHTNOW_THEME > config.toml > built-in default |
| Appearance detection | RIGHTNOW_APPEARANCE / LC_RIGHTNOW_APPEARANCE | detected terminal or operating-system appearance | RIGHTNOW_APPEARANCE > LC_RIGHTNOW_APPEARANCE > detected fallback |
| Clipboard | RIGHTNOW_COPY_FILE / RIGHTNOW_CLIPBOARD_NO_DATA_CONTROL / RIGHTNOW_CLIPBOARD_NO_OSC52 | <RIGHTNOW_HOME>/last-copy.txt / 0 / 0 | Environment-only path and route overrides |
| Voice capture | RIGHTNOW_VOICE_CAPTURE | short-lived helper on macOS | The value inprocess selects the in-process fallback |
| Folder trust | RIGHTNOW_FOLDER_TRUST | release default 1; development builds force 0 | release: environment > user config > managed > remote > default |
| Marketplace integrity | RIGHTNOW_MARKETPLACE_REQUIRE_SHA | 0 | Tighten-only: environment or config can require a full commit SHA |
| Dashboard | RIGHTNOW_AGENT_DASHBOARD | 1 | The value 0 disables; otherwise [dashboard].enabled > built-in default |
| Agent server | RIGHTNOW_AGENT_SECRET | generated token | CLI --secret > environment > generated token |
| Updates | RIGHTNOW_DISABLE_AUTOUPDATER | unset | CLI --no-auto-update or a truthy environment value disables background updates |
| Updates | RIGHTNOW_CHANNEL | stable | config.toml [cli].channel > environment > installer.toml > stable |
| Subagent worktrees | RIGHTNOW_SUBAGENT_WORKTREE_MAX | 8 | environment > [worktrees].max_subagent_worktrees > built-in default |
| Account issuer | RIGHTNOW_ISSUER_URL | https://www.rightnowai.co | environment > built-in default |
| Logging and paths | RIGHTNOW_LOG_FILE / RUST_LOG / RIGHTNOW_HOME | built-in logging policy / built-in log filter / platform product home | Environment overrides the built-in location or policy |
| Debug logging | RIGHTNOW_DEBUG_LOG | unset | RIGHTNOW_LOG_FILE > RIGHTNOW_DEBUG_LOG > no debug target |
| Windows shell | RIGHTNOW_SHELL | auto-detected | environment override > automatic pwsh, Windows PowerShell, Git Bash, or cmd selection |
| TLS trust | RIGHTNOW_EXTRA_CA_BUNDLE / SSL_CERT_FILE | no extra bundle | RIGHTNOW_EXTRA_CA_BUNDLE > SSL_CERT_FILE fallback; unusable bundles are skipped |
| Runtime workers | RIGHTNOW_WORKER_THREADS | up to 8 logical CPUs | environment integer clamped to 1 through the logical CPU count > default |
| Version policy | RIGHTNOW_MINIMUM_VERSION / RIGHTNOW_MAXIMUM_VERSION / RIGHTNOW_REQUIRED_MINIMUM_VERSION / RIGHTNOW_REQUIRED_MAXIMUM_VERSION | unset | Each environment or file bound can only tighten the effective range |
| Product telemetry | RIGHTNOW_TELEMETRY_ENABLED | disabled | requirements > environment > config.toml > caller-supplied settings snapshot > disabled |
| Mixpanel telemetry | RIGHTNOW_TELEMETRY_MIXPANEL_ENABLED | build-seeded or false | environment > effective file layers > build-seeded default |
| Feedback | RIGHTNOW_FEEDBACK_ENABLED | true | requirements > environment > config.toml > caller-supplied settings snapshot > true |
| Trace upload | RIGHTNOW_TELEMETRY_TRACE_UPLOAD | inherits effective telemetry unless telemetry is remote-sourced | requirement > environment > [telemetry].trace_upload > inherited effective telemetry |
| Deployment key | RIGHTNOW_DEPLOYMENT_KEY | unset | [endpoints].deployment_key > environment-seeded default |
| External OpenTelemetry | RIGHTNOW_EXTERNAL_OTEL and the OTEL_* variables documented on the Monitoring page | master switch 0; exporters none | requirements for guarded fields > environment > config.toml > caller-supplied settings snapshot restrictions |
| Notification hook output | RIGHTNOW_EVENT / RIGHTNOW_MESSAGE / RIGHTNOW_SESSION_ID | set only while a notification hook runs | Provided by RightNow; not a user setting |
| Hook output | RIGHTNOW_HOOK_EVENT / RIGHTNOW_HOOK_NAME / RIGHTNOW_SESSION_ID / RIGHTNOW_WORKSPACE_ROOT / RIGHTNOW_PLUGIN_ROOT / RIGHTNOW_PLUGIN_DATA | set only for the applicable hook process | Provided by RightNow; not a user setting |
External collector defaults and every supported OTEL variable are listed on the Monitoring page.
LSP resolution
LSP definitions merge by server name in this order: Project > user > trusted plugin. A project or user entry replaces a lower-priority entry of the same name; plugin file entries precede inline plugin entries and only fill names not already defined locally.
| Priority | File | Scope |
|---|---|---|
| 1 | .rightnow/lsp.json | Current repository |
| 2 | <RIGHTNOW_HOME>/lsp.json | All projects |
| 3 | .lsp.json or plugin.json | Enabled trusted plugin |
