Workspace tab kinds
The central pane of the Forge workspace is a tabbed editor surface. Every tab has a kind that determines what it renders. There are twenty kinds in total. Most you’ll open by clicking files in the project explorer or picking from the Tools menu; a few are agent-driven.
Content tabs
Section titled “Content tabs”| Kind | Opens via | What it shows |
|---|---|---|
| chat | Ctrl+N, command palette → New chat | Conversation surface. Messages, mode chip, prompt input. |
| monaco | Click code file in explorer | Code editor with syntax highlighting. Save with Ctrl+S. |
| markdown | Click .md file in explorer | Source / rendered split view. Memory files default to rendered. |
| image | Click .png / .jpg / .webp / .gif / .svg | Pan + zoom viewer with size and color depth metadata. |
| audio | Click .wav / .mp3 / .ogg | Inline player with waveform and clip metadata. |
| preview | Tools menu → View → Open preview | Web preview control panel. |
Asset studio tabs
Section titled “Asset studio tabs”Open from Tools menu → Asset generation (BYO key). Each is documented under Custom tools.
| Kind | Vendor | Output format |
|---|---|---|
| voice | ElevenLabs | MP3 |
| music | ElevenLabs | MP3 |
| sfx | ElevenLabs | MP3 |
| mesh | Meshy | GLB |
| sprite | Scenario.gg | PNG |
| motion | DeepMotion | FBX |
Pipeline tool tabs
Section titled “Pipeline tool tabs”Open from Tools menu → Pipeline tools. Each is documented under Custom tools.
| Kind | Purpose | Output format |
|---|---|---|
| palette | Color harmonies and ramps | Hex / CSS / .gpl |
| spritesheet | MaxRects atlas packing | PNG + JSON |
| tilemap | Single-layer tile painting | Tiled .tmj JSON |
| shader | WebGL2 fragment sandbox | .glsl / .frag |
| aseprite | .ase reader | PNG strip + JSON |
| audiotrim | Audio cropping | 16-bit PCM WAV |
Agent-driven tabs
Section titled “Agent-driven tabs”| Kind | Opens via | What it shows |
|---|---|---|
| cli | Tools menu → CLI launchers (Codex CLI, Claude Code) | Terminal session running an external CLI tool. |
Tab management
Section titled “Tab management”Common operations:
- New chat tab:
Ctrl+N. - Close active tab:
Ctrl+W. - Cycle within active pane:
Ctrl+Tab/Ctrl+Shift+Tab. - Drag a tab to reorder within its pane.
- Drag a tab to a pane edge to split off into a new pane.
- Drag a tab out of bounds to detach into a new window.
When tabs overflow the strip width, a … menu appears at the right edge and horizontal scroll handles the rest. The pattern matches VS Code’s behaviour.

Toggle the sidebar with Ctrl+B for a focus mode that hides the project explorer.

The bottom panel hosts a real PTY terminal session that you can split off per project task. Toggle it with Ctrl+`.
Persistence
Section titled “Persistence”Open tabs are written to <project>/.forge/workspace.json (project mode) or localStorage (open mode) so reopening a project restores the same layout. Most tab kinds restore by file path; chat tabs restore by session ID.
A few kinds intentionally don’t restore: asset studio tabs (in-flight generations would lose state) and audiotrim (the loaded buffer doesn’t survive). These open fresh next time.