Skip to content

Feature request: Built-in terminal with split-pane support in the right sidebar #623

Description

@monarchmaisuriya

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions