-
-
Notifications
You must be signed in to change notification settings - Fork 75
FAQ
Common questions about VT Code usage and behavior.
In your OS keyring (macOS Keychain, Windows Credential Manager, Linux Secret Service) by default — never in a workspace .env. Add keys with /secret add <provider> in the TUI or vtcode secret add <provider> on the CLI. You can also use environment variables or a workspace .env.
echo $GEMINI_API_KEY # check if it's set in your shell
/secret add gemini # or store it via the TUIVT Code assumes a Nerd Font for box-drawing and icon support. Install one from Nerd Fonts.
VT Code separates data (stdout) from metadata/logging (stderr), so piping works cleanly:
vtcode ask "code for a fibonacci function" > fib.py
vtcode exec --json # stream of structured eventsVT Code filters key events to only process KeyEventKind::Press, avoiding duplicates from both press and release — cross-platform compatible.
No — that's a terminal emulator setting. VT Code adapts to the terminal's actual size via resize events.
set -g mouse onEnable tmux mouse support for wheel scrolling and click actions inside fullscreen rendering. Avoid fullscreen mode with tmux -CC (iTerm2 control mode).
vtcode config --validate
vtcode config --resetRUST_LOG=vtcode_core=debug,vtcode=debug vtcodeOr in vtcode.toml:
[debug]
enable_tracing = true
trace_level = "debug"
trace_targets = ["vtcode_core", "vtcode"]Set agent.harness.max_budget_usd to cap estimated API spend; VT Code stops the session when the cap is reached and warns at budget_warning_threshold (default 0.75).
VT Code is a tool/agent. However, vtcode-core is a reusable Rust library, and vtcode-battery-pack provides a curated set of crates for embedding in your own projects.
60 FPS frame rate and 4 Hz tick rate by default.
Yes. VT Code detects when stdout is a pipe and adapts — full TUI when a terminal is available, text output when piped.
VT Code recognizes phrases like remind me at 3pm to ... and in 45 minutes, .... Session-scoped scheduled prompts fire only at idle boundaries so they never interrupt an in-flight turn.
cargo clean
cargo build --release
rustc --version # check Rust versionLocal generation usually fails because the server is stopped or the model isn't loaded. Run /local status, then /local start <provider>, and use /local troubleshoot for guided diagnostics. See Local-Models.
- Open an issue to report bugs or request features
- Use GitHub Discussions for community support