# server.Server.run_shell

- **Module:** server.Server
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/server.rs#L1257
- **Page:** https://libtmux.org/reference/rs/server-server-run_shell/

```
server.Server.run_shell(self, command: impl Into<OsString>) -> Result<Vec<TmuxText>, Error>
```

Run a shell command through tmux and collect its output.

The command runs in tmux's own environment, not the caller's. Output
lines are [`TmuxText`] because a shell can emit any bytes.

# Errors

Returns an error when tmux refuses the command.

Also refuses outright on tmux 3.3, 3.3a, and 3.4, with
[`Error::CapabilityDefective`]. Those releases send `run-shell` output
into a pane's copy-mode buffer instead of to the client, and still exit
zero, so the command appears to have produced nothing. Reporting an
empty listing there would be a wrong answer the caller could not
detect. 3.2a and 3.5 onwards are unaffected.
