Home / Articles / MiniMax M2.5: Can it hold its own again…
Coding M2.5 MiniMax Review Mar 2, 2026 4 min read

MiniMax M2.5: Can it hold its own against Codex and Claude?

Mark Taylor
MiniMax Logo

When I heard MiniMax released a model that offers "near Claude-level quality" at a fraction of the cost I was more than excited to give it a spin. My initial few tests with it weren't great. But I thought it was only fair to give it a proper go, with a real project, E2E.

I'd been wanting to build a backend REST API for my agents to use to store server logs and issues for a while, I thought this would be a good project to let MiniMax M2.5 build E2E.

I've already done a few tests with M2.5 and definitely wasn't blown away. I found that it really struggled to use Gitea, which is annoying because I use that more than I use GitHub nowadays. Still, I wanted to give M2.5 a fighting change, so I opted to build this with GitHub as the main Git server.

I didn't have high hopes, but nothing could prepare me for the battle I was about to endure. I really wanted the hype to be true, and I REALLY wanted to like this model. But we failed hard at the first hurdle. Milestone 0 was about getting the repo set up:

Milestone 0

For the first milestone we started with the foundation setup:

  • Initial repo structure
  • Python project setup (api/)
  • Dashboard project setup (dashboard/)
  • Docker setup
  • Makefile / DX Shortcuts
  • CI-ready structure

I had MiniMax M2.5 open a PR for the first milestone.
And it wasn't a good start.

"1. `make dev` cannot succeed: API image build fails because `api/Dockerfile` copies `pyproject.toml` to `/app/pyproject.toml` but installs from non-existent `api/pyproject.toml` (`api/Dockerfile:7-8`). Confirmed with `docker build -f api/Dockerfile .` failing on file not found.

  1. Dashboard production image build is broken: `dashboard/Dockerfile` tries `COPY Caddyfile /etc/caddy/Caddyfile` while build context is repo root and file is at `dashboard/Caddyfile` (`dashboard/Dockerfile:14`). Confirmed build failure.

  1. Dashboard dev image build is broken under compose: `docker-compose.dev.yml` uses context `./dashboard`, but `dashboard/Dockerfile.dev` uses `COPY dashboard/...` paths (`dashboard/Dockerfile.dev:5,8-10`), which do not exist in that context. This blocks hot-reload path required by Milestone 0.

  1. Node install path is not reproducible: both dashboard Dockerfiles run `npm ci` (`dashboard/Dockerfile:6`, `dashboard/Dockerfile.dev:6`) but PR does not include `dashboard/package-lock.json`. `npm ci` fails immediately (`EUSAGE`).

  1. `make test` exit criteria are not satisfied by this PR as submitted: `test-dash` has no working dependency bootstrap path and the API test suite is mostly placeholders (`api/tests/test_auth.py`, `test_events.py`, `test_idempotency.py`, `test_issues.py`, `test_pagination.py`, `test_servers.py` all contain only placeholder comments)."
Minimax M2.5 Benchmark Graphic

Near-Claude Level Coding?

Absolutely not! Not even close.

Related Articles

View All

Comments

0 public comments

No comments yet. Be the first to comment.

Leave a comment

Keep it constructive. Your email will not be shown publicly.