Is your feature request related to a problem?
Working in a workspace often requires running shell commands (installing
dependencies, running build scripts, checking git status, executing tests).
Right now I have to leave the app, switch to a separate terminal, navigate
back to the workspace directory, run the command, and switch back. The
context switch is constant and breaks focus, and the terminal session has no
awareness of which workspace I'm in.
Describe the solution you'd like
Add a built-in terminal that runs inside the workspace:
- An integrated terminal panel that opens within the current workspace and
defaults its working directory to the workspace root.
- Support for multiple terminal sessions/tabs, each tied to a workspace.
- A split-pane layout in the right sidebar, so the sidebar can be divided into
a top and bottom section. Each section can hold a different view (for example,
a terminal in one and another panel in the other), the sections can be
swapped, and both can be visible and used together at the same time.
- Persistent sessions, so a running process (a dev server, a watch task) keeps
running when the panel is hidden and is restored when reopened.
- Standard terminal capabilities: scrollback, copy/paste, search, and
configurable shell (bash, zsh, PowerShell, etc.).
- Optional integration with agents, so an agent can run a command in the
terminal and read its output rather than guessing at results.
Describe alternatives you've considered
- Using an external terminal alongside the app - works, but requires constant
window switching and manual directory navigation, and the terminal has no
workspace context.
- Running commands only through the agent - limited, since the agent's command
execution is not a substitute for an interactive shell where I can run
arbitrary commands myself.
- A single full-height sidebar panel - forces the terminal to fully replace
whatever else was in the sidebar instead of coexisting with it.
Additional context
Worth defining up front how sessions are scoped (per-workspace vs. global) and
whether terminal output should be exposed to agent context automatically or
only on request. Security around what commands agents are permitted to run in
the terminal should also be considered. For the split-pane layout, the divider
should ideally be resizable and the split ratio remembered per workspace. A
common implementation path is embedding a terminal emulator (e.g. xterm.js)
backed by a pseudo-terminal process per session.
Is your feature request related to a problem?
Working in a workspace often requires running shell commands (installing
dependencies, running build scripts, checking git status, executing tests).
Right now I have to leave the app, switch to a separate terminal, navigate
back to the workspace directory, run the command, and switch back. The
context switch is constant and breaks focus, and the terminal session has no
awareness of which workspace I'm in.
Describe the solution you'd like
Add a built-in terminal that runs inside the workspace:
defaults its working directory to the workspace root.
a top and bottom section. Each section can hold a different view (for example,
a terminal in one and another panel in the other), the sections can be
swapped, and both can be visible and used together at the same time.
running when the panel is hidden and is restored when reopened.
configurable shell (bash, zsh, PowerShell, etc.).
terminal and read its output rather than guessing at results.
Describe alternatives you've considered
window switching and manual directory navigation, and the terminal has no
workspace context.
execution is not a substitute for an interactive shell where I can run
arbitrary commands myself.
whatever else was in the sidebar instead of coexisting with it.
Additional context
Worth defining up front how sessions are scoped (per-workspace vs. global) and
whether terminal output should be exposed to agent context automatically or
only on request. Security around what commands agents are permitted to run in
the terminal should also be considered. For the split-pane layout, the divider
should ideally be resizable and the split ratio remembered per workspace. A
common implementation path is embedding a terminal emulator (e.g. xterm.js)
backed by a pseudo-terminal process per session.