Getting Started

Install Elyra, configure a provider, and run your first session in under two minutes.

Installation

Elyra is distributed as an npm package. Install it globally:

npm install -g @elyracode/coding-agent

Then start Elyra in whatever project directory you want it to work on:

cd /path/to/project
elyra

Authentication

Elyra supports subscription-based providers via OAuth and API-key providers via environment variables or an auth file.

Option 1: Subscription Login

Start Elyra and run the /login command, then select a provider. Built-in subscription logins include:

Option 2: API Key

Set an API key before launching Elyra:

export ANTHROPIC_API_KEY=sk-ant-...
elyra

You can also run /login and select an API-key provider to store the key in ~/.elyra/agent/auth.json.

See also: The Providers page lists every supported provider, environment variable, and cloud-provider setup.

First Session

Once Elyra starts, type a request and press Enter:

Summarize this repository and tell me how to run its checks.

By default, Elyra gives the model four tools:

Tool Description
read Read files
write Create or overwrite files
edit Patch files
bash Run shell commands

Additional read-only tools (grep, find, ls) are available through tool options. Elyra runs in your current working directory and can modify files there. Use git or another checkpointing workflow for easy rollback.

CLI Flags

elyra [options] [@files...] [messages...]

Model Options

Flag Description
--provider <name> Provider name: anthropic, openai, google, etc.
--model <pattern> Model pattern or ID. Supports provider/id and :thinking suffix.
--api-key <key> API key, overriding environment variables.
--thinking <level> off, minimal, low, medium, high, xhigh
--models <patterns> Comma-separated patterns for Ctrl+P cycling.
--list-models [search] List available models and exit.

Session Options

Flag Description
-c, --continue Continue the most recent session.
-r, --resume Browse and select a session.
--session <path|id> Open a specific session file or partial UUID.
--fork <path|id> Fork a session into a new session file.
--no-session Ephemeral mode; do not save.

Mode Options

Flag Description
(default) Interactive mode
-p, --print Print response and exit.
--mode json Output all events as JSON lines.
--mode rpc RPC mode over stdin/stdout.
--export <in> [out] Export a session to HTML.

Tool Options

Flag Description
--tools <list>, -t Allowlist specific tools.
--no-builtin-tools, -nbt Disable built-in tools, keep extension/custom.
--no-tools, -nt Disable all tools.

Resource Options

Flag Description
-e <source> Load an extension from path, npm, or git. Repeatable.
--skill <path> Load a skill. Repeatable.
--no-extensions Disable extension discovery.
--no-skills Disable skill discovery.
--no-context-files, -nc Disable AGENTS.md / CLAUDE.md discovery.
--system-prompt <text> Replace default system prompt.
--append-system-prompt <text> Append to system prompt.

File Arguments

Prefix files with @ to include them in the message:

elyra @README.md "Summarize this"
elyra @src/app.ts @src/app.test.ts "Review these together"
elyra -p @screenshot.png "What's in this image?"

Examples

# Interactive with initial prompt
elyra "List all .ts files in src/"

# Non-interactive
elyra -p "Summarize this codebase"

# Pipe stdin
cat README.md | elyra -p "Summarize this text"

# Different model
elyra --provider openai --model gpt-4o "Help me refactor"

# Model with provider prefix
elyra --model openai/gpt-4o "Help me refactor"

# Model with thinking level shorthand
elyra --model sonnet:high "Solve this complex problem"

# Read-only mode
elyra --tools read,grep,find,ls -p "Review the code"

Interactive Mode

The interactive interface has four main areas:

Editor Features

Feature How
File reference Type @ to fuzzy-search project files.
Path completion Press Tab to complete paths.
Multi-line input Shift+Enter (Ctrl+Enter on Windows Terminal).
Images Paste with Ctrl+V (Alt+V on Windows) or drag into terminal.
Shell command !command runs and sends output to the model.
Hidden shell command !!command runs without sending output to the model.
External editor Ctrl+G opens $VISUAL or $EDITOR.

Message Queue

You can submit messages while the agent is still working:

Keybindings

All keyboard shortcuts can be customized via ~/.elyra/agent/keybindings.json. Run /reload to apply changes without restarting. Run /hotkeys to view all active bindings.

Application

Key Action
Escape Cancel / abort current operation
Ctrl+C Clear editor
Ctrl+D Exit (when editor is empty)
Ctrl+Z Suspend to background
Ctrl+G Open in external editor
Ctrl+V Paste image from clipboard

Models and Thinking

Key Action
Ctrl+L Open model selector
Ctrl+P Cycle to next model
Shift+Ctrl+P Cycle to previous model
Shift+Tab Cycle thinking level
Ctrl+T Collapse/expand thinking blocks

Display

Key Action
Ctrl+O Collapse/expand tool output
Alt+Enter Queue follow-up message
Alt+Up Restore queued messages to editor

Editor Movement

Key Action
Ctrl+A / Home Move to line start
Ctrl+E / End Move to line end
Ctrl+B / Left Move cursor left
Ctrl+F / Right Move cursor right
Alt+B / Alt+Left Move word left
Alt+F / Alt+Right Move word right
Ctrl+W Delete word backward
Ctrl+U Delete to line start
Ctrl+K Delete to line end
Ctrl+Y Yank (paste deleted text)

Custom Configuration

Create ~/.elyra/agent/keybindings.json:

{
  "tui.editor.cursorUp": ["up", "ctrl+p"],
  "tui.editor.cursorDown": ["down", "ctrl+n"],
  "tui.editor.deleteWordBackward": ["ctrl+w", "alt+backspace"]
}

Slash Commands

Type / in the editor to open command completion.

Command Description
/login, /logout Manage OAuth or API-key credentials.
/model Switch models.
/settings Thinking level, theme, message delivery, transport.
/resume Pick from previous sessions.
/new Start a new session.
/name <name> Set session display name.
/session Show session file, ID, messages, tokens, and cost.
/tree Jump to any point in the session and continue from there.
/fork Create a new session from a previous user message.
/clone Duplicate the current active branch into a new session.
/compact [prompt] Manually compact context.
/copy Copy last assistant message to clipboard.
/export [file] Export session to HTML.
/share Upload as private GitHub gist with shareable link.
/reload Reload keybindings, extensions, skills, prompts, and context files.
/hotkeys Show all keyboard shortcuts.
/quit Quit Elyra.

Sessions

Sessions are saved automatically to ~/.elyra/agent/sessions/, organized by working directory.

elyra -c                  # Continue most recent session
elyra -r                  # Browse and select a session
elyra --no-session        # Ephemeral mode; do not save
elyra --session <path|id> # Use a specific session file or session ID
elyra --fork <path|id>    # Fork a session into a new session file

Inside Elyra, use /session, /tree, /fork, /clone, and /compact to manage sessions.

Context Files

Elyra loads context files at startup for project-specific instructions.

Add an AGENTS.md file to your project root:

# Project Instructions

- Run `npm run check` after code changes.
- Do not run production migrations locally.
- Keep responses concise.

Elyra loads:

Run /reload after changing context files. Disable loading with --no-context-files or -nc.

System Prompt Files

Replace the default system prompt with:

Append to the default prompt without replacing it with APPEND_SYSTEM.md in either location.

Non-interactive Mode

For one-shot prompts:

elyra -p "Summarize this codebase"
cat README.md | elyra -p "Summarize this text"
elyra -p @screenshot.png "What's in this image?"

Use --mode json for JSON event output or --mode rpc for process integration.

Environment Variables

Variable Description
ELYRA_CODING_AGENT_DIR Override config directory (default: ~/.elyra/agent).
ELYRA_CODING_AGENT_SESSION_DIR Override session storage directory.
ELYRA_PACKAGE_DIR Override package directory.
ELYRA_OFFLINE Disable startup network operations.
ELYRA_SKIP_VERSION_CHECK Skip version update check at startup.
ELYRA_TELEMETRY Override telemetry: 1/true/yes or 0/false/no.
ELYRA_CACHE_RETENTION Set to long for extended prompt cache.
VISUAL, EDITOR External editor for Ctrl+G.