Summary
The embedded terminal can only execute one bounded command at a time. It is unusable for normal terminal work (running a dev server, following logs, answering an interactive prompt, interrupting with Ctrl+C). I'd like the on-device terminal to behave like a normal shell — the way the agent CLI itself is usable from any terminal.
Current behavior
- Each submitted line runs as a single
sh -lc process (--kill-on-exit) that is force-killed after 30s (TerminalViewModel.kt:72, LocalRuntimeCommandRunner.kt:68-72).
- Output is redirected to a temp file and only the last 4,000 characters are read back (
LocalRuntimeCommandRunner.kt:12,76).
- No stdin after start, no streaming, no Ctrl+C/signals, no job control, no ANSI/cursor handling.
- The working directory is a fixed
/root and is tracked by regex-parsing cd out of the input line (TerminalViewModel.kt:26,111-125).
- Opening the terminal from a workspace does not pass that workspace in, so it never starts in the folder you are working on (
WorkspaceNavGraph.kt:170,180-196).
- A terminal tab exists in the workspace tab manager but renders a static placeholder (
WorkspaceExplorerScreen.kt:318,327-360), so multi-terminal was planned but never finished.
Expected
- A persistent shell session (PTY) with real, streaming output.
- Interactive stdin (y/n prompts, REPLs, password prompts).
- Ability to send Ctrl+C / interrupt and to run long-lived processes (dev servers, watchers).
- Full scrollback (or no arbitrary cap) instead of a 4KB tail.
- Terminal opens in the currently selected workspace by default.
Notes
I understand the PRoot environment cannot run the JVM (docs/LOCAL_RUNTIME.md:236-246), so this is not a request to run Gradle inside the sandbox. It is only a request for a real, interactive shell process.
Environment
- Android version / device:
- App version:
- Runtime: Android local (OpenCode / Claude Code / Antigravity)
Summary
The embedded terminal can only execute one bounded command at a time. It is unusable for normal terminal work (running a dev server, following logs, answering an interactive prompt, interrupting with Ctrl+C). I'd like the on-device terminal to behave like a normal shell — the way the agent CLI itself is usable from any terminal.
Current behavior
sh -lcprocess (--kill-on-exit) that is force-killed after 30s (TerminalViewModel.kt:72,LocalRuntimeCommandRunner.kt:68-72).LocalRuntimeCommandRunner.kt:12,76)./rootand is tracked by regex-parsingcdout of the input line (TerminalViewModel.kt:26,111-125).WorkspaceNavGraph.kt:170,180-196).WorkspaceExplorerScreen.kt:318,327-360), so multi-terminal was planned but never finished.Expected
Notes
I understand the PRoot environment cannot run the JVM (
docs/LOCAL_RUNTIME.md:236-246), so this is not a request to run Gradle inside the sandbox. It is only a request for a real, interactive shell process.Environment