ktm shell
Run interactive live shell commands on SIM cards and web agents, sending USSD, SMS, calls, or HTTP requests in real time.
Shell — interactive live sessions on SIM cards and web agents
Usage
ktm shell [flags]
Subcommands
Details
Send commands directly to devices and see results in real time. Unlike tests, shell commands have no assertions — they fire a command and return the raw result.
Supported device types: SIM (owner_kind=S): USSD, SMS, calls, data operations via cellular network Ethernet (owner_kind=E): HTTP API, ping, DNS, transfers via web agents
Smartphones are not supported — drive them through tests or the live device automation instead.
USSD sessions are stateful — dialing a shortcode opens a session, and sending menu option numbers (1, 2, 3) navigates deeper into the menu tree. Sessions expire after ~30s of inactivity. Use --wait to see the menu text inline.
Some flows trigger asynchronous events (e.g. wait SMS after a USSD selection or API call). Use 'shell list --from-date <timestamp>' to poll for new shells since your session started.
Note: SIM cards and web agents are shared resources. Active monitors run tests on the same devices on a schedule. If a shell returns Blocked or Timeout unexpectedly, it may be resource contention — wait 15-30s and retry. Use 'monitors toggle' to pause monitors if needed.
Related
Global flags (--output, --debug, --host, …) apply to every command. See the command reference overview.
What's next?
Last updated on