
Code OSS Logs
OfficialFreeAccess and analyze logs from Code OSS development builds.
Free · Opens the source repo
What Code OSS Logs does
Code OSS Logs is a specialized tool designed for developers working with Code OSS or the Agents app. This skill allows users to efficiently locate and read timestamped process logs generated during development runs. With a clear directory structure, users can navigate through logs such as main.log, renderer.log, and agenthost.log to troubleshoot issues or monitor application behavior. The logs are organized into timestamped folders, making it easy to identify the most recent logs based on modification time.
The skill provides a straightforward procedure for fetching logs. Users can specify which application they are investigating—either Code OSS or the Agents app—and the skill will guide them to the appropriate log directory. By using commands to list and access the latest log folder, developers can quickly dive into the relevant log files. This is particularly useful for diagnosing issues related to app startup, extension functionality, or agent interactions, as the skill outlines which log files to check for various use cases.
For those who need to analyze logs in a more detailed manner, the skill includes useful commands for extracting recent entries or searching for specific error markers across all logs. This functionality is crucial for developers needing to debug applications efficiently, especially during the iterative development process. The structured log files contain detailed information about app lifecycle events, network activity, and error reporting, making them an essential resource for troubleshooting.
Overall, Code OSS Logs is a practical tool for developers who require quick access to detailed logs from their Code OSS development environments. By streamlining the log retrieval and analysis process, it enhances productivity and aids in effective debugging.
When to use it
Use this skill when you need to troubleshoot issues or monitor the behavior of Code OSS or the Agents app during development.
When not to use it
This skill may not be suitable for production environments or for users who do not require detailed log analysis.
What you can build with it
Debugging App Crashes
Use the `main.log` and `window1/renderer.log` files to investigate app startup failures or crashes.
Analyzing Extension Behavior
Check `window1/exthost/exthost.log` for errors related to extensions and their activation.
Monitoring Agent Interactions
Review `agenthost.log` and related files to troubleshoot issues with Copilot or other agents.
How to install Code OSS Logs
View source1. Install with the skills CLI
npx skills add microsoft/vscode/code-oss-logs --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by microsoftCode OSS Logs
Find and display logs from the most recent Code OSS or Agents app dev run.
Log Root Directories
| App | Default User Data Dir | Logs Path |
|---|---|---|
| Code OSS | $HOME/.vscode-oss-dev | $HOME/.vscode-oss-dev/logs/ |
| Agents app | $HOME/.vscode-oss-dev | $HOME/.vscode-oss-dev/logs/ |
If Code OSS was launched with --user-data-dir=<dir>, use <dir>/logs/ instead of the defaults above. Launch and debugging helpers often create temporary user data dirs under .build/; always prefer the exact user data dir from the launch command when it is known.
Each run creates a timestamped folder like 20260330T163430. The most recent folder sorted by modification time is usually the one the user cares about.
Procedure
- Identify which app the user is asking about: Code OSS or Agents app. If unclear, check both.
- Find the most recent log folder:
ls -lt "$HOME/.vscode-oss-dev/logs" | head -5 # or for a custom user data dir: ls -lt "<user-data-dir>/logs" | head -5 - Navigate into the most recent folder and list contents.
- Read the relevant log file(s) based on what the user is investigating. Use
tailfor recent entries orrgto filter.
Directory Layout
Each timestamped log folder has this structure:
<timestamp>/
├── main.log # Electron main process (app lifecycle, window management)
├── agenthost.log # Agent host process (Copilot agent, model listing, agent sessions)
├── mcpGateway.log # MCP gateway/server coordination
├── sharedprocess.log # Shared process (extensions gallery, global services)
├── telemetry.log # Telemetry events
├── terminal.log # Terminal/pty activity
├── ptyhost.log # Pty host process
├── network-shared.log # Shared network activity
├── editSessions.log # Edit sessions / cloud changes
├── userDataSync.log # Settings sync
├── remoteTunnelService.log # Remote tunnel service
│
└── window1/ # Per-window logs (window1, window2, etc.)
├── renderer.log # Renderer process (workbench UI, services, startup)
├── network.log # Per-window network activity
├── views.log # View/panel activity
├── notebook.rendering.log # Notebook rendering
├── customizationsDebug.log # Agent customizations debug info (Agents app)
├── mcpServer.*.log # Per-MCP-server logs (one file per configured server)
│
├── exthost/ # Extension host logs
│ ├── exthost.log # Extension host main log (activation, errors)
│ ├── extHostTelemetry.log
│ ├── <publisher.extension>/ # Per-extension log folders
│ │ └── <extension>.log
│ └── output_logging_<timestamp>/ # Extension output channels
│
└── output_<timestamp>/ # Output channel logs (workbench side)
├── tasks.log # Tasks output
├── agentSessionsOutput.log # Agent sessions output (Agents app)
└── agenthost.<clientId>.log # Agent host IPC traffic when tracing is enabled
Multiple output_ Folders
A new output_<timestamp>/ folder and a corresponding output_logging_<timestamp>/ inside exthost/ is created each time the window reloads within the same session. The session-level timestamped folder, such as 20260330T163430/, stays the same, but each reload gets fresh output channel directories. The most recent output_* folder by timestamp has the logs for the current or latest reload. Earlier folders contain logs from prior reloads in that session.
Key Files by Use Case
| Investigating... | Check these files |
|---|---|
| App startup / crashes | main.log, window1/renderer.log |
| Extension issues | window1/exthost/exthost.log, window1/exthost/<publisher.ext>/ |
| Copilot / agent issues | agenthost.log, window1/exthost/GitHub.copilot-chat/ |
| Agent host IPC (Agents app) | window1/output_<timestamp>/agenthost.*.log |
| MCP server problems | mcpGateway.log, window1/mcpServer.*.log |
| Terminal problems | terminal.log, ptyhost.log |
| Network / auth issues | network-shared.log, window1/network.log |
| Settings sync | userDataSync.log |
| Agent customizations | window1/customizationsDebug.log (Agents app) |
Useful Commands
# Recent entries from a log file
tail -50 "<timestamp>/window1/renderer.log"
# Search all logs in a run for a probe marker or error
rg -n "MY_PROBE|error" "<timestamp>"
# Show non-empty logs in a run
find "<timestamp>" -type f -size +0 -print
Temporary Console Forwarding Workflow
When using temporary console.log probes and you need those probes to persist in the normal log files, enable dev console forwarding locally before launching Code OSS.
- In
src/vs/platform/log/common/log.ts, findisDevConsoleLogForwardingEnabled. - Temporarily enable the commented
Boolean("true")line:export const isDevConsoleLogForwardingEnabled = false || Boolean("true") // done "weirdly" so that a lint warning prevents you from pushing this ; - Build or let the watch task pick up the change.
- Launch Code OSS or the Agents app and reproduce the issue.
- Read the relevant logs.
- Before finishing, restore the flag to its default-off state and remove every temporary
console.logprobe.
The Boolean("true") form is intentionally lint-hostile so an accidentally enabled flag should be caught before check-in. Do not check in this flag enabled.
Tips
- For temporary dev probes in source builds, either
console.logorILogServiceis fine. Use whichever is easiest in the code you are touching. console.logprobes must never be checked in. If logging code is intended to stay in the product, useILogServiceinstead.- If dev console forwarding is enabled in the source build,
console.debug,console.error,console.info,console.log, andconsole.warnare written through the process log service into the normal log files. - Console probes land in the log for the process that emitted them: main process in
main.log, renderer/workbench inwindow1/renderer.log, shared process insharedprocess.log, pty host inptyhost.log, and agent host inagenthost.log. Extension host console output is observed from the renderer side and appears inwindow1/renderer.logwhen forwarding all extension-host console output is enabled. - If console forwarding is not enabled, use
ILogServicefor probes that must persist in the log files; nativeconsole.logmay only appear in DevTools or stdout. - Not all log files have content. Many are created empty and only populated if that subsystem produces output.
window1/is the first window; multi-window sessions will havewindow2/, etc.- Log lines follow the format:
YYYY-MM-DD HH:MM:SS.mmm [level] message.
Frequently asked questions about Code OSS Logs
Similar skills
Agent Host Debug Logs
Analyze Agent Host debug logs for deeper insights.
Code OSS Dev - Launch + Debug
Launch and debug Code OSS with isolated profiles.
Phoenix CLI
Debug LLM applications with structured analysis tools.
Power Automate Debugging
Diagnose and fix Power Automate flow errors effectively.
Arize Trace
Inspect and export traces for LLM applications.
Runtime Behavior Probe
Investigate real runtime behavior with precision.
