> For the complete documentation index, see [llms.txt](https://bc-security.gitbook.io/empire-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bc-security.gitbook.io/empire-wiki/starkiller/agents/agent-interact.md).

# Agent Interact

**Interact** is the default tab in the agent workspace and where you task the agent. It has three sub-modes, switched with an inner tab strip: **Module**, **Shell**, and **Terminal**. Starkiller remembers the last sub-mode you used for each agent and reopens it the next time you visit that agent.

## Module

The Module sub-mode is the same module runner used elsewhere in Starkiller, scoped to this agent. Search for a module by name or browse the folder tree; selecting one opens an info viewer with its description and MITRE ATT\&CK technique chips, followed by its options form. Fill in the options and submit to queue the tasking.

![](https://1910080187-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MM2c5FycSJH9sASPLaA%2Fuploads%2Fgit-blob-1949977e3aa62ec7f13544103f37971d2469d488%2Fagent_interact.png?alt=media)

### Tasking multiple agents

The same module runner backs multi-agent tasking: from the Modules screen, selecting several agents before choosing a module tasks all of them at once with the same options. Only modules compatible with every selected agent's language are offered — if the selection has no module in common, Starkiller shows "No modules are compatible with all selected agents."

![](https://1910080187-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MM2c5FycSJH9sASPLaA%2Fuploads%2Fgit-blob-53517cd85030f3e3d0ba9d42bacff95607f6e6c0%2Fmulti_agent_tasking.png?alt=media)

## Shell

Shell is a single, persistent command session with the agent. Type a command at the prompt and its output renders below with ANSI colour preserved. Command history is available with the up and down arrows, and Tab offers completion suggestions as you type.

There is no Literal option, and there's no alias layer to opt out of: every command you type runs as-is through the agent's system shell.

![](https://1910080187-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MM2c5FycSJH9sASPLaA%2Fuploads%2Fgit-blob-29b400bca5484a0760471b1f21e6be27ef9f0ca6%2Fagent_shell.png?alt=media)

## Terminal

Terminal uses the same underlying engine as Shell, but supports multiple named tabs instead of a single session. Add a new tab with the **+** button; right-click a tab for a context menu to rename it, or close it with its **x** button once more than one tab is open. The tab set is saved per agent and restored across reloads.

![](https://1910080187-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MM2c5FycSJH9sASPLaA%2Fuploads%2Fgit-blob-57bbe93dc9cb152fade63b1f9457954bb03aef30%2Fagent_terminal_tabs.png?alt=media)

## Shell vs. Terminal

Both sub-modes give you an interactive command prompt against the agent, but they serve different workflows. Shell is a single session for straightforward, sequential work. Terminal exists for juggling several lines of work on one agent at once — keep a long-running task in one tab while you poke around in another, each with its own history and output.
