reference

Every command, in one place.

Two surfaces, in the order you meet them. In your shell you call aluy with subcommands and flags. Once a session is open, slash commands are what you type inside it. This page is the complete list of both, grouped by what you are trying to do. If you are still learning what to reach for, start with the guide.

in your shell

The aluy command line

Open a session

— the default, with no subcommand.
aluy [goal] [flags…]

Opens the interactive session in the current directory. A quoted string is taken as the starting goal. The first run opens the setup assistant first.

$ aluy "add a health check endpoint to the API"
--continue

Resumes the last session of this directory.

--resume [<id>]

With no id, lists the saved sessions to pick from. With an id, resumes that one.

$ aluy --resume 3f9c1a2b
--new

Starts a fresh session, ignoring the saved ones.

--telegram

Opens the session with the Telegram bridge on, so the agent can reach you off the terminal.

Decide how much it may do

— the setting that matters most.
--plan

Read-only planning: the agent analyzes and proposes, and produces no effect. If you pass both, this one wins over --yolo.

--yolo

Auto-approves every effect, except the always-ask categories, which cannot be relaxed. Refuses to run as root. In a terminal it confirms once; in headless mode it enters directly.

Deprecated alias: --unsafe (still works, warns).

--no-subagents

Turns off parallel subagents. By default they run at depth 1 or less, inheriting the parent’s permissions and sharing one ceiling.

Run it without a session

— scripts, pipes and CI. All of these need -p.
-p
--print
--exec
"<goal>"

Runs one goal, prints the result and exits. The goal can be inline or piped on stdin.

$ aluy -p "which files changed today?"
--output-format text|json|stream-json

How the result comes back: just the text, a single JSON object, or a live stream of events, one JSON object per line.

$ aluy -p "list the open TODOs" --output-format json

Default: text.

--quiet

Suppresses the progress ticks and the stderr noise, leaving only the result.

--cycles <N>
--cycle-for <dur>

Runs the goal autonomously in cycles — the headless form of /cycle. A ceiling is required: iterations with the first, wall-clock time with the second.

$ aluy -p "fix the failing tests" --cycles 5
    durations
  • 30m
  • 2h

Both are capped at a hard limit you cannot raise. --cycle is the bare form.

Choose the model

— which one answers, and how it is reached.
--tier <tier>

Picks the model tier for the session. Changeable at runtime with /model.

$ aluy --tier aluy-flux

Passing "custom" without --model is a usage error.

--model <slug> [--provider <name>]

Selects a curated model from the catalog and forces the custom tier. The two must be passed together.

$ aluy models # lists the slugs --model accepts

Both are data, never a credential — that is resolved locally.

--effort <value>

Reasoning-effort passthrough: any non-empty value up to 32 characters. No tier gate; your provider validates it.

$ aluy --effort high
    typical
  • low
  • medium
  • high
--backend local|broker

Local calls your provider directly with your own credential; nothing is routed through or counted by Aluy. Broker routes through a central backend, which is not available today.

$ aluy --backend local

Default: local.

--local-provider <name>

Which provider the local backend talks to.

$ aluy --backend local --local-provider anthropic
    values
  • anthropic
  • openrouter
  • openai
--local-model <slug>

The model slug, exactly as that provider names it.

$ aluy --local-provider openai --local-model gpt-4o
--local-auth apikey|oauth

A stored API key, or a subscription OAuth sign-in.

$ aluy --local-auth oauth
--local-base-url <url>

The endpoint to call, for an OpenAI-compatible provider or a local runtime. Aluy refuses addresses that would make it call back into your own private network.

$ aluy --local-base-url http://127.0.0.1:11434/v1

The four --local-* flags need --backend local, and fall back to ALUY_LOCAL_* or config.

Set the ceilings

— so a run cannot go all night on your budget.
--max-tokens <N>

The session token budget.

$ aluy --max-tokens 250000

Default: 1000000. Capped at a hard limit.

--max-iterations <N>

Caps the model → tool → observation loop.

$ aluy --max-iterations 40

Default: 300. Capped at a hard limit.

--max-output-tokens <N>

Caps the output of a single model call. On reaching any of these three ceilings, the run pauses and asks whether to continue or stop.

$ aluy --max-output-tokens 8000

Capped at a hard limit.

--budget
--no-budget

Toggles the session budget circuit-breaker.

Off by default on the local backend (your own key, unlimited by design); always on with the central backend.

--self-check
--no-self-check

Forces the self-check loop on or off: re-anchor the objective and verify before declaring the work done.

With no flag it is automatic — weaker tiers turn it on.

--autocompact-at <ratio|%|off>

How full the model’s window may get before Aluy compacts the conversation.

$ aluy --autocompact-at 90%
    accepts
  • 0.85
  • 85%
  • off

Default: 0.85. --no-autocompact equals --autocompact-at off.

Change how it looks

— all of these persist to config.
--lang pt-BR|en

Interface language. It does not translate the agent’s output. /lang toggles it at runtime.

$ aluy --lang en

Precedence: flag > config > locale auto-detect > pt-BR.

--split

Starts in Advanced View, with CHAT and LOG side by side. Ctrl+L toggles it.

--fullscreen

Starts in Cockpit mode, which takes over the whole terminal and restores what was there when you leave.

--dense

Compacts the interface — less padding, more content per screen.

--ascii

Switches to a safe symbol set, for fonts that show empty boxes instead of symbols.

Same as ALUY_SAFE_GLYPHS=1.

Set up the install

— subcommands: they do one job and exit.
aluy onboard

Guided setup: language, backend, provider, key, model, the MCP servers it offers, and the sidecar profile. Step 2 right after the install, and you can run it again to switch.

aluy bootstrap [--no-agent]

Installs the optional local programs — memory, context compression and local models — under your own user account. It offers each one and you choose. By default it installs them through its own agent; --no-agent takes the direct, deterministic path with no model involved.

$ aluy bootstrap --no-agent
    sidecars
  • mem0
  • headroom
  • ollama
aluy config

Prints what is actually in effect — profile, toggles, and where each setting came from.

aluy login

Authenticates. With a provider, it stores that provider’s API key in your vault; with OAuth, it signs you in with a subscription instead. With neither, it runs the device flow of the central backend.

$ aluy login --provider anthropic
    options
  • --provider <p>
  • --oauth
  • --token <token>
  • --org <id>
  • --device

Subscription OAuth in a non-official client is a grey area in the provider’s terms — it is your call. --token is for CI.

aluy logout
aluy whoami

The first revokes the session and erases the stored credential. The second shows user, org and scopes — never the secret.

Check and inspect

— read-only; no model call, exit 0.
aluy doctor [--deep|--test] [--json]

Validates the install: credential, provider reachability, MCP servers, agent profiles, config, version and memory.

$ aluy doctor --deep --json

--deep adds a live tier test, which costs one model call. --json prints a machine-readable array; exit code is non-zero if a check fails.

aluy agents

Read-only listings of what Aluy mapped: agent profiles, skills, workflow definitions, and the providers and models available to you.

    and also
  • skills
  • workflows
  • models
  • providers
-v
--version

Prints the version and exits before the interface mounts.

Format: aluy <cli> (@hiperplano/aluy-cli-core <core>).

-h
--help

Prints the full built-in help — every command and flag — and exits.

Leave work running

— scheduled tasks and services.
aluy cron <when> "<task>"

Schedules persistent headless tasks through the OS scheduler, with no daemon. Each run executes headlessly, through the permission gate.

$ aluy cron add "0 9 * * 1-5" "summarize the commits from yesterday"
    subcommands
  • add
  • list
  • edit
  • enable
  • disable
  • rm
  • run

Live on Linux (crontab); Windows and macOS to come. "add" takes a 5-field cron, such as "0 9 * * 1-5".

aluy service <name>

Agents with a routine. Starting one shows you the manifest and asks first; attaching puts you inside a running service to watch and steer it, and Ctrl+C detaches without stopping it.

$ aluy service start nightly-tests
    subcommands
  • list
  • status
  • create
  • install
  • uninstall
  • start
  • stop
  • logs
  • attach

start --group and stop --group operate a whole table of services at once.

Connect external tools

— the same engines as the in-session commands.
aluy mcp <name>

Manages MCP connectors from the shell. Adding one takes a name and the command that starts the server.

$ aluy mcp add local-db -- ./scripts/db-mcp.sh
    subcommands
  • search
  • add
  • list
  • remove

--project writes to the project .mcp.json instead of the global one.

aluy telegram <chat-id>

Connects the bot that reaches you off the terminal. Signing in stores the @BotFather token in your vault, and the allowlist starts closed.

$ aluy telegram allow 123456789
    subcommands
  • login
  • logout
  • allow
  • deny
  • status

"status" shows the token redacted, the allowlist and the bridge state.

Access and backend

— who you are, and where the model call goes.
variableflagwhat it does
ALUY_TOKEN
--token

Personal Access Token, for signing in without a prompt.

ALUY_ORG
--org

Which organization to act under.

ALUY_BACKEND
--backend

Whether the call goes straight to your provider (local) or through the central backend (broker).

ALUY_LOCAL_PROVIDER
--local-provider

Which provider the local backend talks to.

ALUY_LOCAL_MODEL
--local-model

The model slug, exactly as that provider names it.

ALUY_LOCAL_AUTH
--local-auth

Whether the local backend uses a stored API key or an OAuth sign-in.

ALUY_LOCAL_BASE_URL
--local-base-url

The endpoint to call, for an OpenAI-compatible provider or a local runtime.

ALUY_LOCAL_API_KEY
—

The provider key itself, for machines where the OS vault is not available.

ALUY_TELEGRAM_TOKEN
—

The bot token, instead of storing it with aluy telegram login.

ALUY_BROKER_URL
—

Where the central backend lives. You only set this if you run your own.

ALUY_IDENTITY_URL
—

Where the identity service lives. Same caveat.

ALUY_OAUTH_*
—

Overrides the OAuth client ids and the redirect URI used when signing in with a subscription.

$ export ALUY_OAUTH_REDIRECT_URI=http://127.0.0.1:8765/callback

Limits and ceilings

— the same ceilings the flags set, for when there is no command line to put a flag on.
variableflagwhat it does
ALUY_MAX_TOKENS
--max-tokens

The session token budget. Default 1000000.

ALUY_MAX_ITERATIONS
--max-iterations

How many times the model may go round the tool loop. Default 300.

ALUY_MAX_OUTPUT_TOKENS
--max-output-tokens

The cap on a single model reply.

ALUY_BUDGET
--budget

Turns the budget circuit-breaker on or off.

ALUY_AUTOCOMPACT_AT
--autocompact-at

How full the model’s window may get before Aluy compacts the conversation. Default 0.85.

$ export ALUY_AUTOCOMPACT_AT=90%
ALUY_AUTOCOMPACT_MAX
—

The ceiling on how many times one session may auto-compact.

ALUY_CONTEXT_WINDOW
—

Overrides the context window Aluy discovered for the model, when that number is wrong.

ALUY_SELF_CHECK
--self-check

Forces the verify-before-done loop on or off.

ALUY_SELF_CHECK_EVERY
—

How often that verification runs.

ALUY_SELF_CHECK_MAX
—

How many verifications one run may spend.

ALUY_MAX_MEMORY_WRITES_PER_SESSION
—

How many facts one session may write to memory.

ALUY_SUBAGENT_*
—

The subagent ceilings: how many per call, how many at once (default 4), and how long one may sit idle (default 5 minutes).

$ export ALUY_SUBAGENT_MAX_CONCURRENCY=2
ALUY_MCP_TIMEOUT_MS
—

How long to wait for an MCP tool call. Default 60000.

ALUY_MCP_CONNECT_TIMEOUT_MS
—

How long to wait for an MCP server to come up. Default 20000.

ALUY_STREAM_MAX_BYTES
—

The cap on one streamed reply. Default 24 MB.

ALUY_STREAM_CAP_OFF
—

Removes that cap.

ALUY_WEB_FETCH_MAX_CHARS
—

How much text a fetched page may contribute.

ALUY_MAX_HEAP_MB
—

The memory ceiling for the Aluy process itself. Default 4096.

ALUY_MEM_PRESSURE_AT
—

How close to that ceiling Aluy starts shedding load. Default 0.8.

ALUY_MEM_PRESSURE_OFF
—

Stops it watching its own memory use.

ALUY_RETRY
—

How many times to retry a failed model call. off disables retrying; it is on by default.

$ export ALUY_RETRY=off
ALUY_RETRY_WAIT_MS
—

How long to wait between those retries.

Anti-runaway guards

— they stop a run that is busy but going nowhere. All are on by default.
variableflagwhat it does
ALUY_DEGENERATE_*
—

The repeated-output guard, which aborts a reply that keeps saying the same thing: how many identical lines in a row are allowed (default 25), how long a repeating cycle may run (default 2000 characters), and a switch to turn the guard off.

$ export ALUY_DEGENERATE_LINE_REPEATS=40
ALUY_STUCK_*
—

The stuck watchdog, which pauses and asks you for direction instead of spinning: the same tool called four times, the same error three times, three empty turns, six iterations without progress — and a switch to turn it off.

$ export ALUY_STUCK_SAME_TOOL=6
ALUY_CONT_*
—

What happens when the model says it will use a tool and then does not: how many times Aluy may nudge it to carry on (default 4), when the nudge gets firm, when to give up, and a switch to turn it off.

$ export ALUY_CONT_MAX=2
ALUY_MAESTRO_OFF
—

The kill switch for the supervisor — the layer that watches the run and, when the sidecars are up, uses them to steer it. It never touches the permission gate.

ALUY_MAESTRO
—

The same thing, turned off explicitly with 0 or false rather than by the kill switch.

ALUY_MAESTRO_MEM0
—

Whether that supervisor may use the memory sidecar.

ALUY_MAESTRO_OLLAMA
—

Whether it may use the local judge.

ALUY_CYCLE_JUDGE_OFF
—

Turns off the judge that decides when a /cycle has finished.

Terminal and output

— for terminals that render badly, and for machines reading the output.
variableflagwhat it does
ALUY_LANG
--lang

The interface language. It does not translate the agent’s output.

ALUY_SAFE_GLYPHS
--ascii

The safe glyph profile, for fonts that show empty boxes instead of symbols.

ALUY_ASCII
--ascii

Forces plain ASCII outright, when the safe profile is still not enough.

ALUY_NERD_GLYPHS
—

Turns on the richer glyph set, for terminals with a Nerd Font installed.

ALUY_MARK_ASCII
—

Forces the status marks to ASCII.

ALUY_MARK_UNICODE
—

Forces them back to Unicode.

ALUY_DENSITY
--dense

Compact or comfortable spacing.

ALUY_FULLSCREEN
--fullscreen

Starts in Cockpit mode.

ALUY_NO_ANIM
—

No spinners and no blinking — the reduced-motion setting.

ALUY_NOTIFY
—

The bell that calls you when the agent needs attention. /notify toggles it live.

ALUY_SUGGESTIONS
—

The inline suggestions in the composer.

ALUY_SHOW_MODEL
—

Whether the model name stays visible in the interface.

ALUY_CYCLE_UI_OFF
—

Hides the cycle panel.

ALUY_SPLASH_MIN_MS
—

How long the splash screen stays up.

ALUY_COMPOSER_ANCHOR
—

Where the composer anchors on screen.

ALUY_SYNC_OUTPUT
—

Sends each screen update in one piece, so the interface does not flicker while it redraws.

ALUY_SET_BG
—

Whether Aluy may set the terminal background to match its theme.

ALUY_OSC11_TIMEOUT_MS
—

How long to wait while asking the terminal what its background color is.

ALUY_PRINT_VERBOSE
—

More detail in headless runs.

NO_COLOR
—

Not an Aluy variable, but honored: it turns color off everywhere.

Sidecars and memory

— where each sidecar listens, and whether the agent recalls anything.
variableflagwhat it does
ALUY_MEM0_*
—

The memory sidecar: its host, port or full URL, the virtualenv it runs from, and which embedder it uses.

$ export ALUY_MEM0_URL=http://127.0.0.1:11435
ALUY_HEADROOM_*
—

The context sidecar: its host, port or full URL, the binary to launch, and a switch to turn it off.

$ export ALUY_HEADROOM_URL=http://127.0.0.1:8787
ALUY_OLLAMA_*
—

The local model runtime: its host, port or full URL, and the directory it keeps models in.

$ export ALUY_OLLAMA_URL=http://127.0.0.1:11434
ALUY_MEM_OFF
—

Stops the agent recalling long-term memory at all. Recall is on by default.

ALUY_MEM_MIN_SCORE
—

How relevant a remembered fact must be before it is brought back.

ALUY_ROOM_BACKEND
—

Where agent-to-agent rooms are stored.

Sandbox, updates and debugging

— escape hatches. You should not need these day to day.
variableflagwhat it does
ALUY_SANDBOX_BASH
—

Runs shell commands inside the sandbox.

ALUY_SANDBOX_MCP
—

Runs MCP servers inside the sandbox.

ALUY_UNSAFE_NO_SANDBOX
—

Turns the sandbox off. The name is the warning.

ALUY_ENV
—

The environment name, which decides how strictly a sandbox failure is treated.

ALUY_NATIVE_TOOLS_OFF
—

Turns off the built-in tools, leaving only what MCP provides.

ALUY_NO_WEAK_YOLO_WARN
—

Silences the warning about running unattended on a weaker model.

ALUY_AUTO_UPDATE
—

Whether Aluy updates itself quietly in the background.

ALUY_AUTO_UPDATE_EVERY_MS
—

How often it checks.

ALUY_NO_UPDATE_CHECK
—

Stops it checking at all. Aluy also skips the check on CI.

ALUY_UPGRADE_TIMEOUT_MS
—

How long an upgrade may take before it is abandoned.

ALUY_DEBUG
—

Verbose internal logging.

ALUY_DEBUG_RENDER
—

Logs what the interface is drawing.

ALUY_OVERWRITE_RENDER
—

Redraws in place instead of appending, for diagnosing flicker.

A flag always beats the variable, and the variable always beats what is saved in your config. aluy config prints which of the three won for each setting. A few more variables exist that Aluy sets for itself — those are not meant for you to set.

Exit codes: 0 success · 1 error · 2 usage error — on a usage error it exits without mounting a session.

inside a session

Slash commands

Put the agent to work

— start something that finishes without you.
/cycle <interval> "<task>" [--por <dur>] [--auto]

Runs a task in autonomous cycles until it is done, with hard ceilings and an automatic stop.

$ /cycle 30m "fix the tests that are failing"
    rhythm
  • 5m
  • --por <dur>
  • --auto
    in flight
  • pause
  • resume
  • edit
  • status
  • stop
/cron <when> "<task>"

Schedules a task to run on its own, on your machine, whether or not a session is open.

$ /cron add "0 9 * * 1-5" "check for dependency updates"
    subcommands
  • add
  • list
  • edit
  • enable
  • disable
  • rm
  • run
/service <sub>

Agents with a routine: they wake on schedule, work inside a budget and report on your channel.

$ /service start nightly-tests
    subcommands
  • create
  • list
  • status
  • install
  • uninstall
  • start
  • stop
  • logs
  • attach
/todo

Manages the session’s persistent backlog of tasks.

Work with more than one agent

— your fleet, and the rooms they talk in.
/subagent <profile>

Opens a focused 1:1 sub-session with one profile. Each subagent keeps its own context, so a long task does not crowd out yours.

$ /subagent reviewer
/back

Leaves the subagent focus and returns to the main session.

/rooms [new|list|read|watch]

Creates and follows rooms where several agents talk to each other about the same problem, live.

$ /rooms watch
/agents

Lists the mapped agent profiles, global and project, valid and rejected with the reason.

Connect it to what you use

— external tools and the phone.
/mcp <search|add|list|remove>

Manages MCP connectors without leaving the session: search the open registry, add a local server, list what is mapped.

$ /mcp search github
    also
  • disable
  • enable
  • reconnect
  • reload
/telegram <sub>

The agent on your phone: it reports when work ends, asks when it needs a decision, and warns when it pauses. Only the chats you allow.

$ /telegram allow 123456789
    subcommands
  • login
  • logout
  • allow
  • deny
  • status
/tools

The unified inventory of the agent’s tools — native, MCP per server, and the permission state of each. Read-only.

/skills

Lists the mapped SKILL.md skills, global and project, valid and rejected.

/workflows [run <name>|use]

A numbered list of steps the agent runs in order, each one optionally handed to a subagent. On its own, it lists the ones it found.

$ /workflows run sdlc-story
    subcommands
  • run <name>
  • use

Undo, and keep the context clean

— when it went wrong, or the session got long.
/undo
/redo

Steps the agent’s last file edit backward or forward, from the per-session journal.

/rewind

Goes back to an earlier checkpoint — the code, the conversation, or both. Esc Esc opens it.

/compact

Summarizes the conversation to free room in the model’s window, without losing the thread.

/clear [full|memory]

Clears the session context.

$ /clear memory
    also wipes memory
  • memory
  • full
/usage

Tokens used, how full the model’s window is, and the current tier.

/history

Browses earlier sessions and resumes one without leaving Aluy.

/ask "<question>"

A parallel, read-only question that does not interrupt the work in progress.

$ /ask "where is the retry logic?"

Set it up

— project, model, permissions and looks.
/init

Reads the repository and writes the project’s ALUY.md. You see the diff and confirm it.

/memory <list|forget|edit|pin|unpin>

See, edit, pin or forget what the agent remembers — global and per project. A pinned fact is kept for good, and is given to the model as information, never as an order.

$ /memory forget 3
/model
/provider
/effort

Switches the model tier, sets the provider name in direct mode, and tunes the reasoning effort. Shows the tier, never the credential.

$ /effort high
/permissions

What the agent may do without asking: mode, grants and safe tools. The categories that always ask cannot be unlocked here.

/add-dir <path>

Authorizes one extra directory for this session, outside the project root.

$ /add-dir ../shared-types
/theme <name>
/lang pt-BR|en

Switches theme and interface language. Both auto-detect on boot and persist.

$ /theme aluy-dark
    values
  • aluy-dark
  • aluy-light
  • aluy-slate
  • pt-BR
  • en
/split
/fullscreen

Toggles the side-by-side LOG panel and Cockpit mode. Both persist to config.

    aliases
  • /view → /split
  • /cockpit → /fullscreen
/login
/logout
/whoami

Signs in and out, and shows the current account, org and scopes — never the secret.

When something is off

— read-only; it changes nothing.
/doctor

Checks the install end to end — credential, provider, catalog, MCP, profiles, config, version and memory — and prints a fix hint next to whatever failed.

    also
  • fix

/doctor fix hands the repair to the agent, which reads the logs and retries.

/help

Lists every native command, live, inside the session.

/rename

Gives the session a label and a color. It also sets the terminal window title.

/notify

Toggles the bell that calls you when the agent needs attention.