████████╗███████╗██████╗ ███╗ ███╗██╗ ██╗
╚══██╔══╝██╔════╝██╔══██╗████╗ ████║╚██╗ ██╔╝
██║ █████╗ ██████╔╝██╔████╔██║ ╚████╔╝
██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║ ╚██╔╝
██║ ███████╗██║ ██║██║ ╚═╝ ██║ ██║
╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝
Modern Terminal Companion
Termy is a modern terminal companion for launching, tracking, and managing long-running commands from a single place.
It helps you turn repetitive terminal work into reusable aliases, start them in their own windows, and manage sessions with status, focus, stop, restart, and scheduling features.
I created Termy to make managing long-running terminal commands easier.
While developing, I often had multiple terminals open for servers, SSH sessions, and other processes. Managing them manually became repetitive, so I built Termy to save commands, launch sessions, track their status, and control them from one place.
The goal is to keep terminal workflows simple, organized, and efficient.
- Create reusable aliases for commands
- Launch aliases in their own console windows
- Track running sessions with PID and runtime state
- View active sessions
- Focus existing terminal windows
- Stop individual sessions or all sessions
- Restart stopped sessions
- Schedule commands for later execution
- Support optional stop time and working directory
- Run commands directly without entering the interactive shell
Clone the repository:
git clone <repository-url>
cd TermyInstall:
pip install -e .Or run directly:
python -m termyLaunch Termy:
termyYou will see:
Termy
Modern Terminal Companion
Type 'help' to begin.
termy>
termy add connect ssh myservertermy run connectShort form:
termy r connecttermy statustermy focus connecttermy stop connectStop everything:
termy stop alltermy schedule mytask 2026-07-25T20:30:00 "ping 8.8.8.8" 2026-07-25T20:45:00 C:\temptermy cancel all| Command | Description |
|---|---|
add |
Save a command alias |
remove |
Remove an alias |
list |
Show saved aliases |
status |
Show running sessions |
logs |
Show stored logs |
help |
Display available commands |
| Command | Description |
|---|---|
run / r |
Launch an alias in a new console window |
stop / s |
Stop a session |
stop all |
Stop all tracked sessions |
restart / rs |
Restart a session |
focus / f |
Bring a session window to the foreground |
| Command | Description |
|---|---|
schedule |
Queue a command for later |
cancel |
Cancel a scheduled job |
cancel all |
Cancel all scheduled jobs |
Format:
termy schedule <name> <start_time> <command> [stop_time] [working_dir]
You can also run commands without entering the interactive shell:
termy status
termy help
termy list
termy run connecttermy add dev "python -m http.server 8000"
termy run dev
termy status
termy focus dev
termy stop dev- Scheduler uses ISO timestamps:
YYYY-MM-DDTHH:MM:SS
Example:
2026-07-25T20:30:00
- On Windows, launched sessions open in separate console windows.
- Runtime state is stored in:
~/.termy/
- Termy automatically creates:
aliases.json
logs.txt
on first use.
- Command aliases
- Process tracking
- Session management
- Scheduling
Future:
- Linux/macOS support
- Better process monitoring
- Web dashboard
- Remote session management
MIT License