Live
Black Hat USAAI BusinessBlack Hat AsiaAI BusinessWetware AI: Living Brain Cells Trained to Run Chaos Math - Neuroscience NewsGoogle News: Machine LearningNvidia AI tech claims to slash VRAM usage by 85% with zero quality loss — Neural Texture Compression demo reveals stunning visual parity between 6.5GB of memory and 970MBtomshardware.comConsiderations for growing the pieLessWrong AIGot $5,000? 3 AI Supercycle Growth Stocks at Every Layer of the Stack. - The Motley FoolGoogle News: AIClaude Leak Shows That Anthropic Is Tracking Users' Vulgar Language and Deems Them "Negative" - FuturismGoogle News: ClaudeI Asked ChatGPT What Seniors Over 65 Waste the Most Money On — The Answer Surprised Me - GOBankingRatesGoogle News: ChatGPTGoogle Just Dropped Gemma 4 + Veo 3.1 Lite And Quietly Killed the Cloud-Only AI EraMedium AI10 New Features from Google Gemini That Are Changing Artificial Intelligence in 2026Medium AIThe Paper That Broke Deep Learning Open: A Brutal, Illustrated Walkthrough of “Attention Is All You…Medium AI팔란티어처럼 해체하고 연결하고 장악하라Medium AIO Conto do Vigário Tech: Por Que o “Vibe Coding” e a Dependência Cega da IA Estão Criando…Medium AIAge Is Not an Ending: Designing Your Life Around Changing CapabilitiesMedium AIBlack Hat USAAI BusinessBlack Hat AsiaAI BusinessWetware AI: Living Brain Cells Trained to Run Chaos Math - Neuroscience NewsGoogle News: Machine LearningNvidia AI tech claims to slash VRAM usage by 85% with zero quality loss — Neural Texture Compression demo reveals stunning visual parity between 6.5GB of memory and 970MBtomshardware.comConsiderations for growing the pieLessWrong AIGot $5,000? 3 AI Supercycle Growth Stocks at Every Layer of the Stack. - The Motley FoolGoogle News: AIClaude Leak Shows That Anthropic Is Tracking Users' Vulgar Language and Deems Them "Negative" - FuturismGoogle News: ClaudeI Asked ChatGPT What Seniors Over 65 Waste the Most Money On — The Answer Surprised Me - GOBankingRatesGoogle News: ChatGPTGoogle Just Dropped Gemma 4 + Veo 3.1 Lite And Quietly Killed the Cloud-Only AI EraMedium AI10 New Features from Google Gemini That Are Changing Artificial Intelligence in 2026Medium AIThe Paper That Broke Deep Learning Open: A Brutal, Illustrated Walkthrough of “Attention Is All You…Medium AI팔란티어처럼 해체하고 연결하고 장악하라Medium AIO Conto do Vigário Tech: Por Que o “Vibe Coding” e a Dependência Cega da IA Estão Criando…Medium AIAge Is Not an Ending: Designing Your Life Around Changing CapabilitiesMedium AI
AI NEWS HUBbyEIGENVECTOREigenvector

🔥 imbue-ai/mngr

GitHub TrendingApril 4, 20269 min read0 views
Source Quiz

CLI for managing agents — Trending on GitHub today with 36 new stars.

mngr: run any coding agent in parallel, anywhere

mngr is a Unix-style tool for managing coding agents.

Seamlessly scale from a single local Claude to 100s of agents across remote hosts, containers, and sandboxes. List all your agents, see which are blocked, and instantly connect to any of them to chat or debug. Compose your own powerful workflows on top of agents without being locked in to any specific provider or interface.

Built on SSH, git, and tmux. Extensible via plugins . No managed service required.

installation:

curl -fsSL https://raw.githubusercontent.com/imbue-ai/mngr/main/scripts/install.sh | bash

Overview

mngr makes it easy to create and use any AI agent (ex: Claude Code, Codex), anywhere (locally, in Docker, on Modal, etc.).

Think of mngr as "git for agents": just like git allows you to commit/push/pull/fork/clone versions of code, mngr allows you to create/destroy/list/clone/message agents.

user([You]):::user

subgraph host1["Local Host"] direction LR style host1 fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F cli["mngr CLI ( create / list / connect / message / push / pull / snapshot / migrate / clone / destroy )"]:::cli agent1["OpenCode"]:::agent agent6["Codex"]:::agent subgraph docker1["Docker container 1"] direction LR style docker1 fill:#EDE9FE,stroke:#7C3AED,stroke-width:2px,color:#4C1D95 agent3["Claude"]:::agent agent4["Claude"]:::agent end subgraph docker2["Docker container 2"] direction LR style docker2 fill:#EDE9FE,stroke:#7C3AED,stroke-width:2px,color:#4C1D95 agent5["Claude"]:::agent end end

subgraph host2["Remote host 1"] direction LR style host2 fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F agent2["Claude"]:::agent end

subgraph host3["Remote host 2"] direction LR style host3 fill:#FEF3C7,stroke:#D97706,stroke-width:2px,color:#78350F agent7["Codex"]:::agent agent8["Claude"]:::agent end

user --> cli cli --> agent1 cli --> agent6 cli --> agent3 cli --> agent4 cli --> agent5 cli --> agent2 cli --> agent7 cli --> agent8`

Loading

Why mngr

Most agent tooling is a managed cloud: opaque infrastructure, per-seat pricing, hard to script.

mngr takes the opposite approach. Agents run on compute you control, that you access via SSH, and that shuts down when idle. It's built on primitives you already know (SSH, git, tmux, docker), and

mngr is designed to be:

  • Simple — one command launches an agent locally or on Modal; sensible defaults throughout

  • Fast — agents start in under 2 seconds

  • Cost-transparent — free CLI; agents auto-shutdown when idle; pay only for inference and compute

  • Secure — SSH key isolation, network allowlists, full container control

  • Composable — shared hosts, snapshot and fork agent state, direct exec, push/pull/pair

  • Observable — transcripts, direct SSH, programmatic messaging

  • Easy to learn — mngr ask answers usage questions without leaving the terminal

mngr is very simple to use:

send an initial message so you don't have to wait around:

mngr create --no-connect --message "Speed up one of my tests and make a PR on github"

or, be super explicit about all of the arguments:

mngr create [email protected] --type claude

tons more arguments for anything you could want! Learn more via --help

mngr create --help

or see the other commands--list, destroy, message, connect, push, pull, clone, and more!

mngr --help`

mngr is fast:

real 0m1.472s user 0m1.181s sys 0m0.227s

time mngr list NAME STATE HOST PROVIDER HOST STATE PROJECT local-hello RUNNING localhost local RUNNING mngr

real 0m1.773s user 0m0.955s sys 0m0.166s`

mngr is free, and the cheapest way to run remote agents (they shut down when idle):

mngr create @.modal --no-connect --message "just say 'hello'" --idle-timeout 60 -- --model sonnet

costs $0.0387443 for inference (using sonnet)

costs $0.0013188 for compute because it shuts down 60 seconds after the agent completes`

mngr takes security and privacy seriously:

you (or your agent) can do whatever bad ideas you want in that container without fear

mngr exec example-task "rm -rf /"

you can block all outgoing internet access

mngr create @.modal -b offline

or restrict outgoing traffic to certain IPs

mngr create @.modal -b cidr-allowlist=203.0.113.0/24`

mngr is powerful and composable:

run commands directly on an agent's host

mngr exec agent-1 "git log --oneline -5"

never lose any work: snapshot and fork the entire agent states

mngr create [email protected] SNAPSHOT=$(mngr snapshot create doomed-agent --format "{id}") mngr message doomed-agent "try running 'rm -rf /' and see what happens" mngr create new-agent --snapshot $SNAPSHOT`

mngr makes it easy to see what your agents are doing:

mngr makes it easy to work with remote agents:

mngr is easy to learn:

> mngr ask "How do I create a container on modal with custom packages installed by default?"

Simply run: mngr create @.modal -b "--file path/to/Dockerfile"`

Installation

Quick install (installs system dependencies + mngr automatically):

curl -fsSL https://raw.githubusercontent.com/imbue-ai/mngr/main/scripts/install.sh | bash

Manual install (requires uv and system deps: git, tmux, jq, rsync, unison):

uv tool install imbue-mngr

or run without installing

uvx --from imbue-mngr mngr`

Upgrade:

uv tool upgrade imbue-mngr

For development:

git clone [email protected]:imbue-ai/mngr.git && cd mngr && uv sync --all-packages && uv tool install -e libs/mngr

Shell completion

mngr supports tab completion for commands, options, and agent names in bash and zsh. Shell completion is configured automatically by the install script (scripts/install.sh).

To set up manually, generate the completion script and append it to your shell rc file:

Zsh (run once):

uv tool run --from imbue-mngr python3 -m imbue.mngr.cli.complete --script zsh >> ~/.zshrc

Bash (run once):

uv tool run --from imbue-mngr python3 -m imbue.mngr.cli.complete --script bash >> ~/.bashrc

Note: mngr must be installed on your PATH for completion to work (not invoked via uv run).

Commands

if installed:

mngr [options]`

For managing agents:

  • create: Create and run an agent in a host

  • destroy: Stop an agent (and clean up any associated resources)

  • connect: Attach to an agent

  • list: List active agents

  • stop: Stop an agent

  • start: Start a stopped agent

  • snapshot [experimental]: Create a snapshot of a host's state

  • exec: Execute a shell command on an agent's host

  • rename: Rename an agent

  • clone: Create a copy of an existing agent

  • migrate: Move an agent to a different host

  • limit: Configure limits for agents and hosts

For moving data in and out:

  • pull: Pull data from agent

  • push: Push data to agent

  • pair: Continually sync data with an agent

  • message: Send a message to an agent

  • transcript: View the message transcript for an agent

  • provision: Re-run provisioning on an agent (useful for syncing config and auth)

For maintenance:

  • cleanup: Clean up stopped agents and unused resources

  • events: View agent and host event files

  • gc: Garbage collect unused resources

For managing mngr itself:

  • ask: Chat with mngr for help

  • plugin [experimental]: Manage mngr plugins

  • config: View and edit mngr configuration

How it works

You can interact with mngr via the terminal (run mngr --help to learn more).

mngr uses robust open source tools like SSH, git, and tmux to run and manage your agents:

  • agents are simply processes that run in tmux sessions, each with their own work_dir (working folder) and configuration (ex: secrets, environment variables, etc)

  • agents run on hosts--either locally (by default), or special environments like Modal Sandboxes (--provider modal) or Docker containers (--provider docker). Use the agent@host address syntax to target an existing host.

  • multiple agents can share a single host.

  • hosts come from providers (ex: Modal, AWS, docker, etc)

  • hosts help save money by automatically "pausing" when all of their agents are "idle". See idle detection for more details.

  • hosts automatically "stop" when all of their agents are "stopped"

  • mngr is extensible via plugins--you can add new agent types, provider backends, CLI commands, and lifecycle hooks

Architecture

mngr stores very little state (beyond configuration and local caches for performance), and instead relies on conventions:

  • any process running in window 0 of a mngr- prefixed tmux sessions is considered an agent

  • agents store their status and logs in a standard location (default: $MNGR_HOST_DIR/agents//)

  • all hosts are accessed via SSH--if you can SSH into it, it can be a host

  • ...and more

ssh["SSH (any SSH-accessible machine)"]:::transport

subgraph HOST["Host"] subgraph TMUX["tmux session: mngr-name"] w0["window 0 → agent process"]:::agent w1["window 1+ (optional)"]:::session end dir["$MNGR_HOST_DIR/agents/id/ · status · logs · config"]:::storage end

ssh --> HOST w0 -->|writes| dir`

Loading

See architecture.md for an in-depth overview of the mngr architecture and design principles.

Security

Best practices:

  • Use providers with good isolation (like Docker or Modal) when working with agents, especially those that are untrusted.

  • Follow the "principle of least privilege": only expose the minimal set of API tokens and secrets for each agent, and restrict their access (eg to the network) as much as possible.

  • Avoid storing sensitive data in agents' filesystems (or encrypt it if necessary).

See our security model for more details.

Sub-projects

This is a monorepo that contains the code for mngr here:

  • libs/mngr/

As well as the code for some plugins that we maintain, including:

  • libs/mngr_modal/

  • libs/mngr_claude/

  • libs/mngr_pair/

  • libs/mngr_opencode/

The repo also contains code for some dependencies and related projects, including:

  • libs/concurrency_group: a simple Python library for managing synchronous concurrent primitives (threads and processes) in a way that makes it easy to ensure that they are cleaned up.

  • libs/imbue_common: core libraries that are shared across all of our projects

  • apps/minds: an experimental project around scheduling runs of autonomous agents

Contributing

Contributions are welcome!

Original source

GitHub Trending

https://github.com/imbue-ai/mngr
Was this article helpful?

Sign in to highlight and annotate this article

AI
Ask AI about this article
Powered by Eigenvector · full article context loaded
Ready

Conversation starters

Ask anything about this article…

Daily AI Digest

Get the top 5 AI stories delivered to your inbox every morning.

Knowledge Map

Knowledge Map
TopicsEntitiesSource
🔥 imbue-ai…githubtrendingopen-sourceGitHub Tren…

Connected Articles — Knowledge Graph

This article is connected to other articles through shared AI topics and tags.

Building knowledge graph…

Discussion

Sign in to join the discussion

No comments yet — be the first to share your thoughts!