Configuration
TeXRA provides extensive configuration options that allow you to customize its behavior to match your workflow (don't worry, the defaults are sensible!). This guide explains the available settings and how to adjust them for optimal performance.
CLI
This page describes the VS Code extension's Dashboard and settings. The same setting names apply in the CLI, but they live in different places: the CLI reads a per-project .texra/config.json (run texra init to scaffold one) and exposes models, tools, and agents through texra models, texra tools, and texra agents.
The TeXRA Dashboard
The Dashboard is your one-stop shop for managing everything in TeXRA. Open it from the Command Palette (Ctrl+Shift+P) with TeXRA: Show Settings Dashboard. Its ten tabs all live in one navigation rail:
The Dashboard navigation rail: ten tabs from Memory through Goal, each opening a focused configuration surface.
- Memory - See what your tool-use agents have remembered across sessions, pin core insights, and delete entries you no longer need.
- History - Search and browse past runs. Handy for finding that polish job you ran last week.
- Models - Pick which models show up in your dropdown. Models are grouped by provider (Anthropic, OpenAI, Google, etc.) and you can set or remove API keys for each provider right there - no need to hunt through settings.
- Agents - Turn agents on or off for the current workspace. Agents that support multiple output files are marked with a badge.
- Multi-Agent - Configure multi-agent orchestration and presets.
- Tools - Manage tool-use agent capabilities and approval settings.
- Integrations - Set up third-party coding agents (OpenAI Codex, Claude Code) that TeXRA can hand off to. See Agent Integrations.
- Git - Set a GitHub personal access token (required for the
github_subscriptiontool) and optionally attribute TeXRA commits to a custom author. - LaTeX - Configure LaTeX formatting, diff, and TikZ settings.
- Goal - Watch autonomous runs, where an agent keeps working toward a goal across turns until it reports the goal complete. On by default; this tab lists active and past Goals for observation and navigation.
TIP
The Dashboard tabs are the recommended way to manage agents, models, tools, and connections. VS Code's raw settings (texra.* keys) still work for power users.
Where Settings Live
Most configuration happens in the Dashboard (above) — open it with TeXRA: Show Settings Dashboard. The CLI keeps project defaults in a per-project .texra/config.json (texra init scaffolds one).
Many texra.* keys share the same name across the VS Code extension and the CLI's .texra/config.json (most of the file-, LaTeX-, and model-connection settings below), so the same documentation applies to both. They don't share storage, though — the extension persists settings in VS Code's config/global state, while the CLI reads .texra/config.json. Some keys are extension-only (for example the LaTeX formatter and extension model visibility settings); the CLI warns on any key it doesn't recognize.
texra init scaffolds the workspace file with sensible defaults, and texra doctor confirms exactly which config file a run will load — no guessing about what applies.
VS Code's built-in Settings UI remains available for power users — open it with Ctrl+, (Cmd+, on macOS), search for "TeXRA", and edit in the UI or the JSON. It's no longer the primary path, so reach for the Dashboard or CLI config first.
Core Configuration Options
Agent Configuration
Agent visibility is managed through the Agents tab in the TeXRA Dashboard (TeXRA: Show Agents from the Command Palette). The split-panel browser lets you toggle individual agents on or off for the current workspace. Agents that declare defaultOutputFiles (and so can produce more than one output file in a single run) are flagged with a multi-output badge.
Model Configuration
Which models appear in the selection dropdown is managed through the Models tab in the TeXRA Dashboard. Toggle individual models on or off per provider. See the Models Guide for the full list of supported models.
API Provider Settings
Configure how TeXRA connects to AI model providers:
"texra.model.useOpenAIResponsesAPI": true,
"texra.model.gpt5ReasoningSummary": false- OpenRouter: To route all API calls through OpenRouter, expand the OpenRouter row in the Dashboard → Models tab → API Configuration and enable "Use OpenRouter for All Models"
useOpenAIResponsesAPI: Use OpenAI's Responses API instead of Chat Completions when availablegpt5ReasoningSummary: Request reasoning summaries from the GPT-5 family, including GPT-5.5 and GPT-5.5 Pro (requires verified account and user tier)
Anthropic 1M Context Window
Claude Fable 5, Opus 4.8, and Sonnet 4.6 include the full 1M context window at standard pricing. No opt-in setting or beta header is required — 1M context is enabled automatically. Up to 600 PDF pages per request are supported (100 for models with a 200K context window). Other Claude models use a 200K context window.
Fable 5 and Opus 4.8 use adaptive thinking only — manual thinking budgets are not supported (on Fable 5, thinking is always on). TeXRA selects the appropriate thinking mode automatically based on the reasoning-effort level you pick in the Models tab (Low / Medium / High / Extra High / Max). On Opus 4.8, Extra High maps to Anthropic's xhigh ("extra") effort tier and Max maps to the top max tier — both are recommended for difficult tasks and long-running work, with Max reserved for the hardest, longest-horizon runs. The earlier Opus 4.6/4.7 models predate the xhigh/max split and accept only max, so both Extra High and Max collapse onto max there.
Bibliography Settings
Configure the default bibliography file path for Zotero exports and bibliography tools:
"texra.bib.defaultPath": "${workspaceFolder}/references.bib"When set, bibliography tools will use this path when no explicit file is provided. Works with Zotero auto-exported .bib files.
Agent Output Storage
Workflow outputs always land inside task-run storage — each run gets its own folder under executions/{id}/, with the primary revised file at r{round}/output.{ext} and the merge output at _full.{ext}. Per-run isolation keeps parallel runs from colliding, and the whole folder is reachable from the progress-view toolbar:
- Accept — copy the revised file into your workspace (via the normal approval flow).
- Pack — snapshot the whole run (including mirrored
.bib,.cls,.sty, and figure dependencies) intoworkspace/History/. - Clean — discard the run's folder entirely.
- Open in task storage — reveal the folder so you can browse artifacts manually.
The progress-view toolbar for one finished run: Accept, Pack, and Open in task storage, plus the destructive Clean, all acting on executions/{id}/.
When a workflow completes, the final revised file auto-opens in a new editor tab as a read-only preview so you don't feel the output "vanished." Disable the preview with:
"texra.agentOutputs.autoOpenFinal": falseThe legacy texra.agentOutputs.storageMode setting is deprecated and ignored — every workflow output now goes to task-run storage.
Audio Settings
Specify a custom path to the SoX binary when automatic detection fails:
"texra.audio.soxPath": "C:\\Users\\thinking\\scoop\\apps\\sox\\current\\sox.exe"If unset, TeXRA searches common install locations and your PATH.
File Management Configuration
File Extensions
Control which file types TeXRA includes:
"texra.files.included.inputExtensions": [
".txt",
".tex",
".md"
],
"texra.files.included.contextExtensions": [
".txt",
".tex",
".md",
".bbl"
],
"texra.files.included.mediaExtensions": [
".png",
".pdf",
".jpeg",
".jpg",
".svg",
],Ignored Directories
Control which directories TeXRA ignores:
"texra.files.ignored.directories": [
"build",
"node_modules",
"__pycache__",
"figures",
"figs",
"versions",
"history",
"venv"
],
"texra.files.ignored.fileExtensions": [
".pdf",
".bst",
".bib",
".json",
".py",
".ipynb",
".png",
".vsix",
".ts",
".js"
],
"texra.files.ignored.inputFiles": [
"command.tex",
"preamble.tex"
],
"texra.files.ignored.keywords": [
"Makefile",
"template",
"_log",
"_thinking",
"_diff",
"diff",
"draw",
"versions",
"history"
]LaTeX Configuration
LaTeX Formatting
Pick the formatter (latexindent, tex-fmt, or none to disable) from the Dashboard → LaTeX tab. The related options are standard settings:
"texra.latex.showLatexindentWarning": false,
"texra.latex.latexindentConfig": "/path/to/latexindent.yaml",
"texra.latex.texfmtConfig": "/path/to/tex-fmt.toml"showLatexindentWarning: Disabled by default. Set totrueto show a popup whenlatexindentis missing.latexindentConfig: Path to alatexindentconfiguration file.texfmtConfig: Path to atex-fmtconfiguration file.
Workflow Compile Check
The Dashboard → LaTeX tab also controls what happens after a workflow agent writes .tex outputs:
- Auto-compile after each round (on by default): attempt to compile each root document (
latexmk, falling back topdflatex) in run storage, with a configurable timeout. - Open compiled PDF or log (on by default): after auto-compile finishes, open the latest PDF on success or the truncated LaTeX log on failure.
- Reject rounds when compile fails (on by default): when the compile check fails, the workflow uses its next planned round to repair the output from the compile log instead of treating the round as done. Turn this off to keep failing rounds as-is.
TikZ Figure Processing
Configure how TikZ figures are extracted and compiled:
"texra.latex.tikzInputDirectory": "/path/to/tikz/inputs",
"texra.latex.includeWorkspaceInTexinputs": true,
"texra.latex.tikzTemplate": "\\documentclass[tikz,border=10pt]{standalone}\n\\usepackage{tikz}\n\\usepackage{pgfplots}\n\\usetikzlibrary{positioning}\n\\usetikzlibrary{patterns}\n\\usetikzlibrary{arrows.meta, shapes.geometric, matrix, calc, decorations.pathreplacing}\n\\usetikzlibrary{shapes, arrows}\n\n\\begin{document}\n{{ tikzpicture }}\n\\end{document}"tikzInputDirectory: Additional directories to include in the TEXINPUTS path when compiling TikZ figuresincludeWorkspaceInTexinputs: Whether to include the workspace root in TEXINPUTStikzTemplate: The template used for generating standalone TikZ documents
Git Integration
The Git tab in the TeXRA Dashboard (TeXRA: Show Settings Dashboard → Git) covers two independent features: a GitHub token used by the PR-subscription tool, and optional TeXRA-branded commit authorship for agent-made commits.
Read from GITHUB_TOKEN, or stored in encrypted Secret Storage.
Sets GIT_AUTHOR_NAME/EMAIL for agent commits.
The Git tab: the GitHub token row (here picked up from GITHUB_TOKEN, shown as Env) with Create on GitHub and Set token, and the commit-author toggle.
GitHub personal access token
Several tool-use agents can call github_subscription to watch a repo, pull request, or issue and inject new comments, reviews, line comments, failed CI runs, and merge-conflict events into the current agent stream as follow-up messages — the same mechanism that handles user-typed follow-ups. The tool polls GitHub's REST API every 30 seconds and needs an authenticated token.
Setup:
- In the Git tab, click Create on GitHub…. This opens the GitHub token-creation page with the TeXRA description and
reposcope pre-filled. - Choose scopes:
repoif you want to watch private repositories.public_repoif you only need public repositories.- No write scopes are required — the poller is read-only.
- Pick an expiration (90 days is a common choice) and generate the token. GitHub shows it only once.
- Back in TeXRA's Git tab, click Set token and paste it in.
The token is stored in VS Code's encrypted Secret Storage — never written to settings.json. Alternatively, export GITHUB_TOKEN in the shell VS Code is launched from and the tool will pick it up automatically (the Git tab will show Env as the status).
Once a token is configured, an agent can run github_subscription command=subscribe path=owner/repo/pulls/N (or path=owner/repo for the whole repo, path=owner/repo/issues/N for a single issue) and every new event arrives wrapped in a <github-webhook-activity> tag in the follow-up queue. Use command=unsubscribe with the same path to stop, command=list to see active subscriptions, and command=find_current to resolve the current branch's PR. Subscriptions auto-terminate when the PR closes or merges, and up to 25 PRs can be watched concurrently.
TeXRA commit author
Enable Mark commits with TeXRA author info to attribute commits created by TeXRA agents to a distinct identity (useful when sharing a repo with collaborators so you can tell which commits were machine-made). When enabled, GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_COMMITTER_NAME, and GIT_COMMITTER_EMAIL are set for every git command an agent runs.
LaTeX diff commit history
A separate setting controls how many recent commits appear in the LaTeX-diff commit picker:
"texra.git.numberOfCommitsToShow": 20Custom Agents Directory
The custom agents directory can be changed from the Agents tab in the TeXRA Dashboard. Click Change in the directory info bar to select a new folder, or Reset to return to the default location inside global storage.
Logger Configuration
Control logging behavior:
"texra.logger.debugMode": false,
"texra.debug.saveDebugObjects": false,
"texra.debug.saveInputPrompt": falsedebugMode: Show detailed debug messages in the logger viewsaveDebugObjects: Save message and response objects to JSON files for debugging purposes (includes both API messages and raw responses)saveInputPrompt: Persist the final model input prompt as an XML file (stored alongside other debug artifacts when an execution ID is available)
Environment-Specific Configuration
Workspace vs. User Settings
You can configure TeXRA at different levels:
- User Settings: Apply to all workspaces (the VS Code extension's user settings)
- Workspace Settings: Apply only to the current workspace (
.vscode/settings.json) - CLI / project config: A per-project
.texra/config.json(runtexra init) — the CLI's native project-level equivalent of workspace settings
For project-specific configurations in the VS Code extension, use workspace settings:
// .vscode/settings.json
{
"texra.files.included.inputExtensions": [".tex", ".md"],
"texra.latex.tikzInputDirectory": "${workspaceFolder}/styles"
}For personal preferences that apply to all projects, use user settings.
When several levels set the same option, the CLI resolves them in a fixed order — an explicit flag always wins, then environment variables, then the project file, then built-in defaults. See the precedence figure on the CLI page.
OS-Specific Configuration
Some settings may need adjustment based on your operating system:
Windows
For Windows, use backslashes or escaped forward slashes in paths:
"texra.latex.tikzInputDirectory": "C:\\Users\\Username\\Documents\\LaTeX\\tikz"macOS and Linux
For macOS and Linux, use forward slashes:
"texra.latex.tikzInputDirectory": "/Users/username/Documents/LaTeX/tikz"Creating Custom Profiles
To keep different configuration sets:
- CLI: each project carries its own
.texra/config.json, so per-project defaults come for free. - VS Code extension: TeXRA has no built-in profile support, but you can use VS Code's settings profiles — create a profile per project type, configure TeXRA differently in each, and switch as you change tasks.
Configuration Best Practices
Optimizing for Performance
For better performance:
"texra.files.ignored.directories": ["build", "node_modules", "versions", "history"],
"texra.logger.debugMode": falseOptimizing for Collaboration
For team collaboration:
"texra.git.numberOfCommitsToShow": 30,
"texra.latex.latexindentConfig": "${workspaceFolder}/.latexindent.yaml",
"texra.latex.texfmtConfig": "${workspaceFolder}/tex-fmt.toml"Use workspace settings to ensure consistent configuration across the team.
Advanced Configuration
Manual Settings File Editing
Power users can edit the underlying settings file directly:
- CLI / project-level: edit
.texra/config.jsonin your project (runtexra initto scaffold one). Only recognizedtexra.*keys take effect — the CLI warns on unknown keys. - VS Code extension: open the Command Palette (
Ctrl+Shift+P/Cmd+Shift+P), run "Preferences: Open User Settings (JSON)", and add or modifytexra.*keys.
Cross-Extension Compatibility
Configure TeXRA to work well with other extensions:
// Git extensions compatibility
"git.enableSmartCommit": true,
"texra.git.numberOfCommitsToShow": 20Troubleshooting Configuration
If you encounter configuration issues:
- Reset to Defaults: Clear custom settings to return to defaults
- Check Syntax: Ensure your JSON settings are correctly formatted
- Reload Window: Use "Developer: Reload Window" from the Command Palette
- Check Logs: Look for configuration-related errors in the ProgressBoard
Common configuration issues include:
- Incorrect file paths (especially across operating systems)
- JSON syntax errors in settings files
- Conflicting settings between user and workspace levels
- Missing required dependencies for configured features
Next Steps
Now that you understand how to configure TeXRA, you may want to learn about:
- Custom Agents - Learn how to create your own specialized agents
- Best Practices - Discover recommended settings for different workflows
- Troubleshooting - Resolve common configuration issues
Agent Execution Settings (Webview Interface)
These settings, accessible directly in the main TeXRA webview, control how agents run:
The instruction-panel header: header actions (Settings, History, Pack, Clean, Magic Polish, Erase), the open Tool-configuration dropdown, and the agent and model selectors.
Tool Configuration Dropdown ( ○ next to Instruction label):
- Attach TeX Count (): Includes
texcountoutput (word/header/math stats) in the agent's context. Requirestexcountinstalled. - Attach Diagnostics (): Appends LaTeX compilation logs and other diagnostics to the agent prompt.
Reflection rounds are now controlled entirely by the agent definition. Choose agents whose userRequest prompt list includes follow-up entries (or create custom ones) when you need an automatic follow-up critique.
To capture the full prompt sent to the model, enable the texra.debug.saveInputPrompt setting (in .texra/config.json or VS Code settings).
Model/Agent Selection:
- Agent (): Select the agent (see Built-in / Custom).
- Model (): Select the language model (see Models).
Instruction Header Actions:
- Settings (): Open TeXRA extension settings.
- History (): Open Agent Execution History panel.
- Pack (): Archive the current run's task storage folder to
History. - Clean (): Delete the current run's task storage folder.
- Magic Polish (): Use selected model to polish the instruction text.
- Erase Instruction (): Clear the instruction box.