exec_command tool description says every command runs in a PTY

Open 💬 0 comments Opened Jun 1, 2026 by bar-d

What happened?

The exec_command tool description says:

Runs a command in a PTY, returning output or a session ID for ongoing interaction.

But the same tool schema documents the tty parameter as:

True allocates a PTY for the command; false or omitted uses plain pipes.

The implementation defaults tty to false, and the process manager uses the non-PTY spawn path unless tty is true.

This makes the top-level tool description misleading: most commands do not run in a PTY unless requested.

Expected behavior

The tool description should describe the default pipe behavior and reserve PTY wording for tty: true, or otherwise match the actual default execution mode.

Additional context

I searched open issues and PRs for terms including exec_command, PTY, pipes, tty, and tool description, and did not find an existing open item that appears to cover this description mismatch.

View original on GitHub ↗