# send_keys

Source: https://libtmux.org/en/ts/latest/mcp/tools/send_keys/

> Send input to a pane's program; a shell that receives it runs it with your user's permissions. Send keystrokes to a pane. Use for TUIs, control keys (C-c), and partial lines. For a shell command whose result you want, use run_shell_command — it waits for completion and reports exit status, which this does not.

MCP is in development

Server behavior and tool contracts may change. Tool availability depends on the server configuration.

Send input to a pane’s program; a shell that receives it runs it with your user’s permissions. Send keystrokes to a pane. Use for TUIs, control keys (C-c), and partial lines. For a shell command whose result you want, use [run\_shell\_command](https://libtmux.org/en/ts/latest/mcp/tools/run_shell_command/) — it waits for completion and reports exit status, which this does not.

[All TypeScript tools](../) · [JSON](../send_keys.json) · [Source](https://github.com/libtmux/libtmux-ts/blob/3fe1ca654b81b8cbf4a13b777a001a3298c87a6f/packages/mcp/src/tools/input.ts#L116)

## Arguments

* `enter` optional · boolean

  Press Enter afterwards. Default true.

* `force` optional · boolean

  Allow writing to the pane this server itself was called from, which is otherwise refused. It does not override the refusal to write to a pane a person is watching — a pane an attached client has on screen is still refused with force.

* `keys` required · string

  Keys to send. tmux key names like C-c work unless literal is true.

* `literal` optional · boolean

  Send the text as-is, without resolving key names.

* `paneId` required · string

  Stable pane id, e.g. %1.

## Schemas

The schema defines required fields, nested values, defaults, and validation constraints.
