Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[Bug]: mcode init fails with "Session Project could not be resolved" for relative directories (default ".")

オープン
#504 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
node.js, typescript
領域
cli

調査の方向性

Read packages/tui/src/cli/program.ts and the workspace handling in packages/tui/src/tui/launcher.ts; the issue traces how the relative directory reaches session creation. Run vitest run --config vitest.oss.config.mjs packages/tui/test/unit/tui-app.test.ts to check the default and explicit-relative-directory regression cases. Done means both forms pass an absolute workspace directory and mcode init succeeds in a fresh repository; the issue already includes a verified patch and tests.

索引モデルが issue の本文から書いたものです。

説明

tui
Product or interface

CLI - interactive TUI

Version
  • @minimax-ai/code 0.6.12 (npm)
  • Reproduced from source at commit 9a935605956c4500e9cb415f29258e2887e97817 (repository package version 0.6.5)
  • Node.js 24.21.0; Bun 1.4.2 used for install/build
Platform

Linux

OS version and architecture

Linux 7.2.9 x64 (NixOS), foot 1.28.0 / Wayland

Issue area

File / workspace / path / encoding

Steps to reproduce
  1. cd into any existing git repository.
  2. Run mcode init with no argument, or with any relative directory: mcode init ., mcode init sub/dir.
  3. The TUI opens, submits /init, and the first turn fails immediately.

Minimal synthetic repro:

mkdir /tmp/repro && cd /tmp/repro
git init -q && echo x > README.md && git add -A && git commit -qm init
mcode init

Passing an absolute directory avoids the failure: mcode init "$PWD".

Expected and actual behavior

Expected: the Session workspace resolves to the target repository and the Runtime init skill runs to generate AGENTS.md.

Actual: Session creation fails with Session Project could not be resolved. /retry repeats the same failure because the same relative workspace value is reused, so the command never proceeds.

Redacted error summary

Released 0.6.12 bundle:

$ mcode init
Working | . | MCode
×  Error  The response failed.
   Reason: Session Project could not be resolved
   Run /retry to resend your last message. Your prompt is preserved.

Same failure on a source build at 9a93560, captured in a pty (workspace title is the literal .):

ARGS=['init'] ERROR_SEEN=True TITLES=['. ', '. ']
×  Error  The response failed.
   Reason: Session Project could not be resolved

After resolving the argument to an absolute path (patch below), the same harness:

/tmp/mcode-init-repro │ ⎇ master │ Auto │ … │ Context 98% left
└ Completed in 12s

The status bar shows the absolute workspace and the init skill completes normally. No /retry needed.

Root cause

Traced on main at 9a93560:

  1. packages/tui/src/cli/program.ts:96 — .argument('[directory]', 'project directory', '.') defaults to ".".
  2. packages/tui/src/cli/program.ts:97-98 — the action forwards the raw value: launchTui(withLane({ initialPrompt: '/init', workspaceDir: directory })).
  3. packages/tui/src/tui/launcher.ts:184 — const workspaceDir = options.workspaceDir ?? process.cwd(); falls back only for undefined, so "." survives.
  4. packages/local-runtime-v2/src/service/session-system/projects/repo/drizzle.ts:89-91 — canonicalProjectWorkspaceDir(workspaceDir) returns undefined, so no project row is created.
  5. packages/local-runtime-v2/src/service/session-system/shared/workspace.ts:9-17 → shared/path-normalization.ts:3-8 — normalizeAbsolutePath explicitly returns undefined when !flavor.isAbsolute(input).
  6. packages/local-runtime-v2/src/service/session-system/sessions/support/native-record-factory.ts:68-72 — Session creation throws workspace-required with the message above.

So the CLI accepts a relative path that the project layer can never canonicalize; exec --cwd and normal TUI launches are unaffected because they resolve to absolute paths earlier.

Proposed fix

Resolve the argument at the CLI boundary, where the invalid value originates:

diff --git a/packages/tui/src/cli/program.ts b/packages/tui/src/cli/program.ts
@@
+import { resolve } from 'node:path';
 import { Command, InvalidArgumentError } from 'commander';
@@
     .action((directory: string) =>
-      options.launchTui(withLane({ initialPrompt: '/init', workspaceDir: directory })),
+      options.launchTui(withLane({ initialPrompt: '/init', workspaceDir: resolve(directory) })),
     );

Two regression tests added in packages/tui/test/unit/tui-app.test.ts: the default init form and an explicit relative directory both assert an absolute workspaceDir.

Validation
  • vitest run --config vitest.oss.config.mjs packages/tui/test/unit/tui-app.test.ts — 366 passed (includes the 2 new tests).
  • tsc -p tsconfig.standalone.json --noEmit — exit 0, no output.
  • Manual, source build at 9a93560 + patch, fresh git repo: mcode init reaches the init skill and completes, error gone.
  • Not run: CI, macOS/Windows, and a rebuild of the published 0.6.12 bundle (the npm tarball does not map to this source revision).
Workaround

Use an absolute path: mcode init "$PWD" (or mcode init /path/to/repo). Alternatively launch mcode in the repository and type /init.

Additional context

I searched existing issues for the exact message and for mcode init / AGENTS.md init / relative-path reports and found no duplicate. Note the public repository currently reports package version 0.6.5 while npm ships 0.6.12; the failing code path is identical in both.

CONTRIBUTING.md limits code PRs to repository collaborators, so I am filing this as an issue with the verified patch. I am happy to submit a PR if you would like one, or to test a fix on another platform.

Before submitting
  • I have searched existing issues.
  • I have included my version and removed sensitive information.
主要言語
TypeScript
スター
2k
フォーク
259
平均マージ
9時間 41分
マージ済み PR(30日)
143

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

MiniMax-AI/minimax-code のほかの issue

MiniMax-AI/minimax-code の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。