Large Language Models

Mini-Agent Review

Published 2025-11-16. Last modified 2026-10-31.
Time to read: 13 minutes.

This page is part of the llm collection.

This article follows on from MiniMax-M2/3 Review.

Mini-Agent is a command-line agent that acts as the user interface for the cloud-based MiniMax-M2.x. Mini-Agent can perform many common tasks for programming, including running scripts and editing files.

I prefer to use Claude Code instead of Mini-Agent. See Running MiniMax M3.1 Flash on Claude Code CLI to learn more.

The Visual Studio Code Harness and Ollama also work well with MiniMax-M3.1 Flash. See Using Ollama and Gemma-4 with Visual Studio Code

This article reviews Mini-Agent, which is intended to work with MiniMax (see MiniMax-M2/3 Review), and makes comparisons to Claude CLI, with advice applicable to working with any agentic programming assistant. For convenience, I refer to MiniMax with Mini-Agent simply as Mini-Agent in this article.

See Fixing Bugs With LLM Assistance to learn how I used Mini-Agent to debug an issue with my Jekyll Plugin Support framework.

Installation

The following incantation results in a permanent installation of v0.1.0, originally released on 2025-12-06 but continuously updated.

Shell
$ uv tool install git+https://github.com/MiniMax-AI/Mini-Agent.git
Resolved 56 packages in 29ms
Prepared 5 packages in 143ms
Installed 56 packages in 46ms
+ agent-client-protocol==0.7.0
+ annotated-types==0.7.0
+ anthropic==0.75.0
+ anyio==4.12.0
+ argcomplete==3.6.3
+ attrs==25.4.0
+ certifi==2025.11.12
+ cffi==2.0.0
+ charset-normalizer==3.4.4
+ click==8.3.1
+ cryptography==46.0.3
+ distro==1.9.0
+ docstring-parser==0.17.0
+ h11==0.16.0
+ httpcore==1.0.9
+ httpx==0.28.1
+ httpx-sse==0.4.3
+ idna==3.11
+ iniconfig==2.3.0
+ jiter==0.12.0
+ jsonschema==4.25.1
+ jsonschema-specifications==2025.9.1
+ mcp==1.23.1
+ mini-agent==0.1.0 (from git+https://github.com/MiniMax-AI/Mini-Agent.git@69cc459075d054814d04949c700350fcb49c8406)
+ openai==2.9.0
+ packaging==25.0
+ pip==25.3
+ pipx==1.8.0
+ platformdirs==4.5.1
+ pluggy==1.6.0
+ prompt-toolkit==3.0.52
+ pycparser==2.23
+ pydantic==2.12.5
+ pydantic-core==2.41.5
+ pydantic-settings==2.12.0
+ pygments==2.19.2
+ pyjwt==2.10.1
+ pytest==9.0.1
+ python-dotenv==1.2.1
+ python-multipart==0.0.20
+ pyyaml==6.0.3
+ referencing==0.37.0
+ regex==2025.11.3
+ requests==2.32.5
+ rpds-py==0.30.0
+ sniffio==1.3.1
+ sse-starlette==3.0.3
+ starlette==0.50.0
+ tiktoken==0.12.0
+ tqdm==4.67.1
+ typing-extensions==4.15.0
+ typing-inspection==0.4.2
+ urllib3==2.6.0
+ userpath==1.9.2
+ uvicorn==0.38.0
+ wcwidth==0.2.14
Installed 2 executables: mini-agent, mini-agent-acp 
$ which mini-agent /home/mslinn/.local/bin/mini-agent

The above gives you a new command: mini-agent.

To later update this command, just type:

Shell
$ uv tool install --force git+https://github.com/MiniMax-AI/Mini-Agent.git
Resolved 56 packages in 158ms
    Updated https://github.com/MiniMax-AI/Mini-Agent.git (b2f800093cb9d0ec10bbdbc5da92d0642ee7761e)
      Built mini-agent @ git+https://github.com/MiniMax-AI/Mini-Agent.git@b2f800093cb9d0ec10bbdbc5da92d0642ee7761e
Prepared 1 package in 1.16s
Uninstalled 1 package in 15ms
Installed 1 package in 8ms
 - mini-agent==0.1.0 (from git+https://github.com/MiniMax-AI/Mini-Agent.git@69cc459075d054814d04949c700350fcb49c8406)
 + mini-agent==0.1.0 (from git+https://github.com/MiniMax-AI/Mini-Agent.git@b2f800093cb9d0ec10bbdbc5da92d0642ee7761e)
Installed 2 executables: mini-agent, mini-agent-acp 

The above highlights the output that is displayed when the software updates. Notice that the version number is 0.1.0 for both versions. This is unprofessional. Compare the above output with the following, which shows the output when there is no software update:

Shell
$ uv tool install --force git+https://github.com/MiniMax-AI/Mini-Agent.git
Resolved 56 packages in 15ms
Uninstalled 1 package in 3ms
Installed 1 package in 10ms
 ~ mini-agent==0.1.0 (from git+https://github.com/MiniMax-AI/Mini-Agent.git@b2f800093cb9d0ec10bbdbc5da92d0642ee7761e)
Installed 2 executables: mini-agent, mini-agent-acp 

If you just want to try out Mini-Agent, use uvx instead:

Shell
$ uvx git+https://github.com/MiniMax-AI/Mini-Agent.git

The above immediately runs the latest version of the program but does not give you the mini-agent command.

If you permanently installed it, start the agent like this:

Shell
$ mini-agent
✅ LLM retry mechanism enabled (max 3 retries)
✅ Loaded Bash tool
✅ Loaded Bash Output tool
✅ Loaded Bash Kill tool
Loading Claude Skills...
✅ Discovered 15 Claude Skills
✅ Loaded Skill tool (get_skill)
Loading MCP tools...
✓ Connected to MCP server 'mcp-server-go' - loaded 7 tools
  - fetch_webpage: Fetch a web page and convert it to markdown format...
  - find_files: Search for files using pattern matching exact, case-insensi...
  - read_file: Read file contents with optional limits, offset, and line nu...
  - server_info: Get server information...
  - test_tool: A simple test tool that returns a message...
  - web_search: Perform a web search using Bing and return structured JSON r...
  - write_file: Write content to files with options for creating, overwritin...

Total MCP tools loaded: 7
✅ Loaded 7 MCP tools (from: /home/mslinn/.mini-agent/config/mcp.json)

✅ Loaded file operation tools (workspace: /var/sitesUbuntu/www.mslinn.com)
✅ Loaded session note tool
✅ Loaded system prompt (from: /home/mslinn/.mini-agent/config/system_prompt.md)
✅ Injected 15 skills metadata into system prompt

╔══════════════════════════════════════════════════════════╗
║      🤖 Mini Agent - Multi-turn Interactive Session      ║
╚══════════════════════════════════════════════════════════╝

┌──────────────────────────────────────────────────────────┐
│                       Session Info                       │
├──────────────────────────────────────────────────────────┤
│ Model: MiniMax-M2                                        │
│ Workspace: /var/sitesUbuntu/www.mslinn.com               │
│ Message History: 1 messages                              │
│ Available Tools: 13 tools                                │
└──────────────────────────────────────────────────────────┘

Type /help for help, /exit to quit 

I had previously installed tools, so my tool count might be different from yours.

mini-agent session, continued
You › /help
Available Commands:
  /help      - Show this help message
  /clear     - Clear session history (keep system prompt)
  /history   - Show current session message count
  /stats     - Show session statistics
  /exit      - Exit program (also: exit, quit, q)

Keyboard Shortcuts:
  Ctrl+U     - Clear current input line
  Ctrl+L     - Clear screen
  Ctrl+J     - Insert newline (also Ctrl+Enter)
  Tab        - Auto-complete commands
  ↑/↓        - Browse command history
  →          - Accept auto-suggestion

Usage:
  - Enter your task directly, Agent will help you complete it
  - Agent remembers all conversation content in this session
  - Use /clear to start a new session
  - Press Enter to submit your message
  - Use Ctrl+J to insert line breaks within your message 

Visual Studio Code Terminal did not treat CTRL+J or CTRL+Enter as a newline, but Microsoft Terminal did. Sigh.

Mini-Agent Package

This section provides information about the packaging of the mini-agent command discussed above.

The miniagent subdirectory of the GitHub project contains the package that should be installed for agentic programming with MiniMax-M2. The initial commit for this Git repository was on Nov 6, 2025, and contained 641 files. It was clearly based on unacknowledged earlier work.

On 2025-12-06, it had 784 stars and 103 forks. This is a popular package.

Normal release practices are not followed (there is no versioning, tags, change log, etc.). Mini-Agent writes my changelogs already, and CI/CD scripts for releases; why cannot the Mini-Agent developers do the same? This procedural failing is unprofessional.

The most popular fork, with 2 stars, is by 0xSero. This looks like the work of one of the developers.

Do Not Confuse Mini-Agent from MiniMax With MiniAgent From PyPi

There is a package on PyPi called Mini-Agent that is for entirely different purposes.

Installing Anthropic Compatibility

It is unclear how much Anthropic compatibility is provided without configuration.

The instructions are frustratingly incomplete, and the implementation was seemingly thrown together without much thought. For example, I presume that the YOUR_API_KEY is the user’s MiniMax-M2 key. These environment variables are meant for use in MCP files and other config files, not set at the Bash shell. Otherwise, setting ANTHROPIC_API_KEY to the MiniMax-M2 user key would mean that Claude users such as myself would have to figure out a way to set this key to the value provided by Anthropic when running claude, and to the MiniMax-M2 key when running mini-agent.

export ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic
export ANTHROPIC_API_KEY=${YOUR_API_KEY}

So I did nothing, and that has worked out fine so far.

Configuration

Make a quick initial setup by typing:

Shell
$ curl -fsSL \
  https://raw.githubusercontent.com/MiniMax-AI/Mini-Agent/main/scripts/setup-config.sh | bash
╔════════════════════════════════════════════════╗
║   Mini Agent Configuration Setup              ║
╚════════════════════════════════════════════════╝

[1/2] Creating configuration directory...
   ✓ Created: /home/mslinn/.mini-agent/config
[2/2] Downloading configuration files...
   ✓ Downloaded: config.yaml
   ✓ Downloaded: mcp.json
   ✓ Downloaded: system_prompt.md
   ✓ Configuration files ready

╔════════════════════════════════════════════════╗
║   Setup Complete! ✨                          ║
╚════════════════════════════════════════════════╝

Configuration files location:
  /home/mslinn/.mini-agent/config

Files:
  📄 config.yaml
  📄 mcp.json
  📄 system_prompt.md 

Edit ~/.mini-agent/config/config.yaml and paste your MiniMax API key into it.

config.yaml

You can change the number of allowable steps by modifying the value of max_steps. I usually set the threshold values from 200 to 5000; larger values generally give a smoother ride, but you risk having to use CTRL+C more frequently. I call this the nuclear option. Scroll the following code to see how that is done.

~/.mini-agent/config/config.yaml
# Mini Agent Configuration Example
#
# Configuration File Locations (in priority order):
# 1) mini_agent/config/config.yaml - Development mode (current directory)
# 2) ~/.mini-agent/config/config.yaml - User configuration file
# 3) <package>/mini_agent/config/config.yaml - Package installation directory
#
# To use this config:
# - Copy this file to one of the above locations as config.yaml
# - Fill in your API key and customize settings as needed
# - All config files (config.yaml, mcp.json, system_prompt.md) are in the same directory

# ===== LLM Configuration =====
# MiniMax API Configuration
# MiniMax provides both global and China platforms:
# - Global: https://platform.minimax.io -> api_base: https://api.minimax.io/anthropic
# - China: https://platform.minimaxi.com -> api_base: https://api.minimaxi.com/anthropic
# Please choose based on your network environment and get API key from corresponding platform
api_key: "secret"
api_base: "https://api.minimax.io/anthropic"  # Global users
# api_base: "https://api.minimaxi.com/anthropic"  # China users
model: "MiniMax-M2"

# ===== Retry Configuration =====
retry:
  enabled: true           # Enable retry mechanism
  max_retries: 3          # Maximum number of retries
  initial_delay: 1.0      # Initial delay time (seconds)
  max_delay: 60.0         # Maximum delay time (seconds)
  exponential_base: 2.0   # Exponential backoff base (delay = initial_delay * base^attempt)

# ===== Agent Configuration =====
max_steps: 5000  # Maximum execution steps
workspace_dir: "./workspace"  # Working directory
system_prompt_path: "system_prompt.md"  # System prompt file (same config directory)

# ===== Tools Configuration =====
tools:
  # Basic tool switches
  enable_file_tools: true  # File read/write/edit tools (ReadTool, WriteTool, EditTool)
  enable_bash: true        # Bash command execution tool
  enable_note: true        # Session note tool (SessionNoteTool)

  # Claude Skills
  enable_skills: true      # Enable Skills
  skills_dir: "./skills"   # Skills directory path

  # MCP Tools
  enable_mcp: true         # Enable MCP tools
  mcp_config_path: "mcp.json"  # MCP configuration file (same config directory)
                           # Note: API Keys for MCP tools are configured in mcp.json

See LLM System Prompts for more information.

Copying Setup From Another Computer

To copy the setup from a computer called bear to this one, then install and run Mini-Agent, I typed:

Shell
$ mkdir -p ~/.mini-agent/config/
$ scp bear:~/.mini-agent/config/config.yaml ~/.mini-agent/config/config.yaml
$ uv tool install git+https://github.com/MiniMax-AI/Mini-Agent.git
$ mini-agent

Skills

Are you able to use claude skills?

I can use specialized skills to provide expert guidance for specific tasks. Here's what's available:

  • artifacts-builder - Create elaborate HTML artifacts using React, Tailwind CSS, shadcn/ui
  • skill-creator - Guide for creating new skills that extend capabilities
  • slack-gif-creator - Create animated GIFs optimized for Slack
  • webapp-testing - Test and debug local web applications using Playwright
  • theme-factory - Apply themes to artifacts (slides, docs, reports, landing pages)
  • internal-comms - Write internal communications using company formats
  • brand-guidelines - Apply Anthropic's official brand colors and typography
  • algorithmic-art - Create algorithmic art using p5.js with seeded randomness
  • canvas-design - Create visual art in .png and .pdf documents
  • mcp-builder - Create high-quality MCP servers for external API integration
  • pptx - Comprehensive presentation creation and editing
  • docx - Professional document creation and editing
  • xlsx - Spreadsheet creation, analysis, and data visualization
  • pdf - PDF manipulation, extraction, and form processing

How Skills Work:

  • Skills provide specialized workflows and domain expertise
  • They include bundled resources like scripts, references, and assets
  • I can load the full content of any skill to get detailed guidance
  • Skills are designed for progressive disclosure - metadata first, then detailed content as needed

Provided Skills

I decided to try the slack-gif-creator skill:

Create an animated gif called `test.gif` that shows something broken

🤖 Assistant: I’ll create an animated GIF showing something broken. Let me create a Python script to generate an animated GIF with a cracked smartphone screen effect.

🤖 Assistant: Perfect! I’ve successfully created test.gif - an animated GIF showing a broken smartphone screen with spreading cracks.

The animation features:

  • A smartphone with a realistic design
  • Cracks that progressively spread across the screen over 20 frames
  • An impact point at the center where the cracks originate
  • Additional crack branches and radiating lines
  • Screen debris and scratches that appear as the damage worsens
  • 2 frames per second for a slow, dramatic effect

The file is saved as test.gif (31.8 KB) and shows a compelling visual representation of something broken - specifically a smartphone screen that appears to be damaged and continuing to crack.

The slack-gif-creator skill created a .venv directory in the current directory without asking permission or providing notification. It then wrote a Python script into the current directory without permission or notification (create_broken_gif.py), then it created test.gif, also in the current directory.

Moral: Do not use the provided skills. They have been thrown together quickly and have not undergone user testing.

Custom Skills

I edited ~/.mini-agent/config/config.yaml and changed the value of skills_dir to /home/mslinn/.claude/skills so all skills are defined in the same place. Although Claude correctly expands paths like ~/.claude/skills to the value of $HOME/.claude/skills, Mini-Agent does not.

Mini-Agent does not use the custom skills it finds until you prod it to do so. In the standard file of startup instructions that I use, this line causes custom skills to be invoked:

$agent_instructions/ais/index.md fragment
Notice the skills defined in `$HOME/.claude/skills`.

Guided Skill Creation

i want to create a skill that uses grep to recursively search several projects for a regex pattern and ignores .git/ subdirectories. the project directories are pointed to by the following environment variables: $agent_instructions, $sc_router, $sc_app, $dl, $jekyll_control, and $git_update

Perfect! I’ve successfully created your multi-project grep search skill. Here’s what was built:

## Skill Created: multi-project-grep

Package Location: multi-project-grep.zip (6.7 KB)

### What’s Included:

  1. SKILL.md - Comprehensive documentation with:
    • When to use the skill
    • Environment variable requirements
    • Usage examples and parameters
    • Error handling guidance
  2. scripts/multi_grep.sh - Executable bash script that:
    • Searches across your 6 environment variable directories
    • Excludes .git/ and node_modules/ automatically
    • Validates directory existence before searching
    • Provides structured output with clear project separators
    • Includes comprehensive error handling

### How to Use:

Basic search:

  ./scripts/multi_grep.sh "TODO"

With grep options:

  ./scripts/multi_grep.sh "function_name" -n
  ./scripts/multi_grep.sh "import.*sys" -A 2 -B 2

### Verified Functionality:

✅ Successfully tested with your environment variables ✅ Searches all 6 project directories ✅ Excludes .git/ subdirectories ✅ Handles missing directories gracefully ✅ Provides clear error messages when no pattern specified ✅ Returns structured results with project counts

The skill is now ready to use! The multi-project-grep.zip file contains everything needed to install and use this specialized grep search capability across your multi-project codebase.

How to install?

To install the multi-project grep skill, follow these steps:

## Installation Instructions

### Step 1: Extract the Skill Package

  unzip multi-project-grep.zip

This creates a multi-project-grep/ directory with the skill contents.

### Step 2: Navigate to the Skill Directory

  cd multi-project-grep

### Step 3: Verify the Script is Executable

  ls -la scripts/multi_grep.sh

The script should have execute permissions (-rwxr-xr-x). If not, run:

  chmod +x scripts/multi_grep.sh

### Step 4: Set Up Environment Variables The skill requires these environment variables to be set to your project directories:

  # Example - replace with your actual paths
  export agent_instructions="/path/to/agent_instructions"
  export sc_router="/path/to/sc_router"
  export sc_app="/path/to/sc_app"
  export dl="/path/to/dl"
  export jekyll_control="/path/to/jekyll_control"
  export git_update="/path/to/git_update"

To make these permanent, add them to your shell profile:

  # Add to ~/.bashrc, ~/.zshrc, or ~/.profile
  echo 'export agent_instructions="/your/path/here"' >> ~/.bashrc
  echo 'export sc_router="/your/path/here"' >> ~/.bashrc
  # ... repeat for other variables

### Step 5: Test the Installation

  ./scripts/multi_grep.sh "TODO"

You should see search results from your project directories.

## Alternative Installation Methods

### Method A: System-Wide Installation For system-wide access, copy to /usr/local/bin or similar:

  sudo cp scripts/multi_grep.sh /usr/local/bin/multi-grep
  chmod +x /usr/local/bin/multi-grep

Then use it directly:

  multi-grep "pattern"

### Method B: Project-Specific Installation If you want this skill as part of an existing project:

  cp -r multi-project-grep/ /path/to/your/project/tools/
  cd /path/to/your/project/tools/multi-project-grep
  ./scripts/multi_grep.sh "search_pattern"

## Quick Verification Test with a simple pattern to verify everything works:

  ./scripts/multi_grep.sh "echo"

This should search for “echo” across all your configured project directories and show which ones contain the term.

The skill is now installed and ready to use!

MCP Tools

Mini-Agent is provided with the following MCP tools, and more can be added:

  • bash - for running commands
  • read_file, write_file, edit_file - for file operations
  • get_skill - for specialized skill guidance
  • record_note - for session notes

When Mini-Agent needs to fetch something from GitHub or elsewhere in the interwebs, it invokes a bash command like wget or curl. See MCP Tools for an explanation of how to add knowledge management and web search capabilities.

Command Line Syntax

Shell
$ mini-agent # Use current directory
$ mini-agent --workspace /path/to/project # Specify workspace
$ mini-agent --help # Show help

Mini-Agent gets confused whenever it encounters the word “workspace’ in an instruction, and mixes that directory up with its command-line option. That caused quite a headache for one of my projects until I realized the source of the odd behavior.

Using The Mini-Agent Command Line

Shell
$ cd $work/myproject
$ mini-agent ✅ LLM retry mechanism enabled (max 3 retries) ✅ Loaded Bash tool ✅ Loaded Bash Output tool ✅ Loaded Bash Kill tool Loading Claude Skills... ✅ Discovered 15 Claude Skills ✅ Loaded Skill tool (get_skill) Loading MCP tools... Skipping disabled server: minimax_search Skipping disabled server: memory Total MCP tools loaded: 0 ⚠️ No available MCP tools found ✅ Loaded file operation tools (workspace: /mnt/f/work/myproject) ✅ Loaded session note tool ✅ Loaded system prompt (from: /home/mslinn/.mini-agent/config/system_prompt.md) ✅ Injected 15 skills metadata into system prompt ╔══════════════════════════════════════════════════════════╗ ║ 🤖 Mini Agent - Multi-turn Interactive Session ║ ╚══════════════════════════════════════════════════════════╝ ┌──────────────────────────────────────────────────────────┐ │ Session Info │ ├──────────────────────────────────────────────────────────┤ │ Model: MiniMax-M2 │ │ Workspace: /mnt/f/work/miniagent │ │ Message History: 1 messages │ │ Available Tools: 8 tools │ └──────────────────────────────────────────────────────────┘ Type /help for help, /exit to quit

This is the mini-agent CLI help message:

Shell
You › /help
Available Commands:
  /help      - Show this help message
  /clear     - Clear session history (keep system prompt)
  /history   - Show current session message count
  /stats     - Show session statistics
  /exit      - Exit program (also: exit, quit, q)

Keyboard Shortcuts:
  Ctrl+U     - Clear current input line
  Ctrl+L     - Clear screen
  Ctrl+J     - Insert newline (also Ctrl+Enter)
  Tab        - Auto-complete commands
  ↑/↓        - Browse command history
  →          - Accept auto-suggestion

Usage:
  - Enter your task directly, Agent will help you complete it
  - Agent remembers all conversation content in this session
  - Use /clear to start a new session
  - Press Enter to submit your message
  - Use Ctrl+J to insert line breaks within your message 

Vanishing Output

Text showing “thinking” usually scrolls by quickly. This is unfortunate, because you can tell when the little bugger is going feral on you from monitoring its thinking. Most of the dialog is lost. Worse, when a session ends, whatever was on the terminal vanishes and cannot be redisplayed. This is a horrible user experience. The next section shows you how to solve that.

In this regard, Mini-Agent comes off as a midterm project, while Claude Code CLI is a highly polished product.

Recording a Session

Mini-Agent must be permanently installed for this to work.

See Recording Chat Transcripts to obtain the record script and to learn various ways of viewing the transcript.

The following shows how to use record to launch Mini-Agent.

Shell
$ record -c mini-agent
Script started, output log file is '2025-12-12_20-06-39_chat.log'.
✅ LLM retry mechanism enabled (max 3 retries)
✅ Loaded Bash tool
✅ Loaded Bash Output tool
✅ Loaded Bash Kill tool
Loading Claude Skills...
✅ Discovered 1 Claude Skills
✅ Loaded Skill tool (get_skill)
Loading MCP tools...
✅ Loaded 11 MCP tools (from: /home/mslinn/.mini-agent/config/mcp.json)
✅ Loaded file operation tools (workspace: /home/mslinn)
✅ Loaded session note tool
✅ Loaded system prompt (from: /home/mslinn/.mini-agent/config/system_prompt.md)
✅ Injected 1 skills metadata into system prompt

╔══════════════════════════════════════════════════════════╗
║ 🤖 Mini Agent - Multi-turn Interactive Session           ║
╚══════════════════════════════════════════════════════════╝

┌──────────────────────────────────────────────────────────┐
│ Session Info                                             │
├──────────────────────────────────────────────────────────┤
│ Model: MiniMax-M2                                        │
│ Workspace: /home/mslinn                                  │
│ Message History: 1 messages                              │
│ Available Tools: 19 tools                                │
└──────────────────────────────────────────────────────────┘

Type /help for help, /exit to quit

You › /exit
Script done.
Recording finished. Log saved to /home/mslinn/2025-12-12_20-06-39_chat.log 

Clearing User Input

Mini-Agent supports keyboard shortcuts for clearing user input. These include:

To delete the entire current line (before the cursor):

  • Windows/Linux: CTRL+U
  • Mac: Cmd+A (move to beginning of line), followed by Cmd+K (delete to end of line), or use shell-specific bindings.

100 Steps

Debugging one particular problem, I could see MiniMax flail about for 35-40 steps before it got in the zone and knew what was where and how to interact. Then it would encounter something it did not understand and attempt to apply "reasoning." It never searched for information on the interwebs unless I told it to do so when I could get a word in; Mini-Agent does not listen or respond to you most of the time. It spent lots of time and energy reinventing wheels.

Then the 100-step limit would be reached, and it would lose all the context. Another, similar, 35-40 steps were spent getting back in the zone. It might or might not understand the changes accumulated by the last session. An additional 20 steps would be spent figuring that out. That corresponds to a 50% overhead 'getting in the zone' before being able to continue on.

You can continue a dialog with more than 100 steps, but MiniMax-M2 loses a lot of context
You can continue a dialog with more than 100 steps, but MiniMax-M2 loses a lot of context

Some problems require a dozen attempts to fix them.

This is wasteful of a huge amount of resources. The elapsed time to get back in the zone for the total of all the subsequent attempts takes many hours or days. Whatever power plant is providing the electricity to run MiniMax is generating a huge amount of energy for this sinful procedural inefficiency. This is an implementation issue and multiplies the inherent inefficiency of LLMs in general. These high, cascading expenses that amplify each other are most regrettably wasteful. I hope this inefficiency is addressed very soon.

So after half an hour is spent waiting for MiniMax-M2 to get in the zone, you can see that it is getting stuck in something idiotic; your only options are to nuke the session or wait to see if it will eventually move forward before the 100-step limit is encountered. You can increase the step limit.

Claude quietly makes an estimate of the work it is about to perform and compares the expected expenditure against available session credits. Just before it runs out, the user is prompted with 3 choices.

Unlike Claude, MiniMax never runs out of session credits.

Gemini Told Me This

You cannot directly increase the hardcoded maximum context window size of a specific MiniMax model, as this limit is defined by the underlying model architecture (e.g., MiniMax M2 has a 204K token limit, M1 has a 1M token limit). Instead, you can use specific techniques and agentic workflows provided by the MiniMax platform to manage and extend the effective context during long or complex tasks. Techniques to Manage and Extend Context

For models like MiniMax M2, the key method is to enable reasoning_split=True when using the OpenAI-compatible API, or by natively including <think>…</think> blocks in your messages when using the Anthropic-compatible API. This ensures the agent’s internal reasoning chain is explicitly passed back into the next prompt, maintaining state and improving performance across multiple turns.

The MiniMax Agent interface allows for creating “branch sessions” or new sessions. If an original conversation is nearing its token limit, you can start a new branch to continue the project in a fresh context, avoiding “lost in the middle” problems associated with overly long contexts.

The MiniMax agent uses internal methods like code output compression and optimized browser handling to manage token usage and keep the context lean.

For handling lots of information (like large documentation or a codebase), the agent uses RAG processes and “Model Context Protocol” (MCP) servers to retrieve relevant information as needed, rather than loading everything into the main context window at once. This emulates a form of long-term memory. Model Selection: If your work consistently requires a massive context window, ensure you are using a MiniMax model specifically designed for it, such as MiniMax-Text-01 (4 million tokens inference) or MiniMax-M1 (1 million tokens).

For practical implementation and configuration, refer to the MiniMax Agent GitHub documentation or the MiniMax Agent Changelog.

Serious Bugs

Fragment of Mini-Agent session transcript
🔧 Tool Call: bash
Arguments:
{
"command": "timeout 5 /tmp/jc_new status -v \"$computers\" 2>&1"
}

✗ Error: Command timed out after 120 seconds

This problem is not specific to any one bash command, and it is a major source of frustration. Mini-Agent constantly generates bash commands so it can gather information, but it NEVER looks at returned error messages. Instead, each syntax error causes Mini-Agent to undergo a 120-second timeout, which cannot be changed. Worse, Mini-Agent ALWAYS concludes that the bash command it was trying to run is defective. So it introduces lots of debugging on the supposedly defective command that goes nowhere because, inevitably, yet another command line that Mini-Agent generated had a syntax error.

I have seen Mini-Agent attempt to use shorter timeouts, as shown above, but that parameter is always ignored. This is one very sick puppy.

Chaos ensues. A death spiral. Over and over and over and over... Consuming huge amounts of electricity as if there were no consequences to such behavior.

Impressions Working with Mini-Agent

Superior File Handling

Claude CLI has an annoying problem of creating Git locks in the project being worked on and forgetting about them. Mini-Agent thankfully does not have this issue. In fact, Mini-Agent is relatively very forgiving in navigating potential file conflicts. Claude is awful in this regard.

User Interruptions

There is no way to interrupt or guide the Mini-Agent once it starts doing something. I requested the feature.

One CTRL+C at the wrong time terminates the chat. At other times, CTRL+C copies selected text. A better way to copy text from the terminal is to enable copy-on-select; this means that any time you change the text selection, the copy buffer will automatically be updated. This is much better than trying (and often failing) to use CTRL+C to copy text. Claude does not have this problem because it requires two quick CTRL+Cs to terminate a chat.

I was pleased to discover that I was able to change files in the same project that Mini-Agent was working in, so long as I did not modify a file that it was accessing. Claude gets seriously confused if you do this. In contrast, Mini-Agent works with the user much more effectively in this important regard.

I was pleased to discover that the Claude Code CLI could be used to work with MiniMax-M2 instead of Mini-Agent.

Lack of User Feedback

I miss the Claude TUI status line that I made. That gave me a clear idea of when the LLM was struggling.

Conclusion

Having spent considerable time interacting with the combination of Claude and MiniMax-M2, I am reluctant to go back to what I did before experimenting with this workflow. This has serious potential.

I recommend the combination of MiniMax-M2 and Claude as a team. They balance each other well. Your job becomes steering the vessel instead of shoveling coal. You could have a $20/mon USD Claude account for the thinking parts, and use MiniMax-M2 at $20/mon for an unlimited number of worker drones. This old programmer is doing the work of a small team with that combination, and the experience seems like a dream. This stuff was pure fantasy in the 1960s, and I was an avid reader. It is so great to experience this taking shape.

One of the first things that I did, with great success, was to tell Mini-Agent to fix a bug in a Jekyll plugin that I was working on. Read about that experience in Fixing Bugs With LLM Assistance. In this case I performed the analysis, and I told Mini-Agent exactly what to do. That was a time saver, but Claude would have been able to do the work much faster. MiniMax-M2 was too wild without careful conditioning to let it loose on the job alone.

* indicates a required field.

Please select the following to receive Mike Slinn’s newsletter:

You can unsubscribe at any time by clicking the link in the footer of emails.

Mike Slinn uses Mailchimp as his marketing platform. By clicking below to subscribe, you acknowledge that your information will be transferred to Mailchimp for processing. Learn more about Mailchimp’s privacy practices.