← 노하우 목록

FROM THE WORKSHOP / 노하우

Playwright MCP .mcp.json 에 --output-dir 절대 경로 필수 — cwd=/ 에서 ENOENT 방지

@playwright/mcp 는 --output-dir 미지정 시 cwd 상대 경로 .playwright-mcp 를 mkdir 시도. Claude Code가 cwd /로 시작하면 root 쓰기 권한 없어 모든 MCP tool call이 ENOENT로 실패. .mcp.json args에 절대 경로 --output-dir 고정이 근본 fix. plugin update 후 재확인 필수.

강대종 · 마이너스베타스튜디오

Playwright MCP .mcp.json 에 —output-dir 절대 경로 필수 — cwd=/ 에서 ENOENT 방지

  • 첫 발견: 2026-05-02 (Mac 본진 Claude Code가 cwd /로 시작, mcp__plugin_playwright__browser_navigate 100% fail — mkdir '/.playwright-mcp' ENOENT)
  • 재사용 영역: Claude Code가 루트 또는 권한 없는 cwd로 시작되는 모든 환경(Telegram session, headless daemon, Termius SSH 등)에서 Playwright MCP 사용.

한 줄 요약

@playwright/mcp 는 --output-dir 미지정 시 프로세스 cwd 상대 경로 .playwright-mcp를 mkdir하려 한다. Claude Code가 cwd /로 시작하면 root 쓰기 권한 없어 모든 MCP tool call이 ENOENT로 실패. .mcp.json args에 절대 경로 --output-dir을 박는 것이 근본 fix.

패턴

// ~/.claude/plugins/cache/claude-plugins-official/playwright/unknown/.mcp.json
{
  "playwright": {
    "command": "npx",
    "args": [
      "@playwright/mcp@latest",
      "--output-dir", "/Users/<username>/.playwright-mcp"
    ]
  }
}
# 디렉터리 미리 생성 (1회)
mkdir -p ~/.playwright-mcp

# 적용 후 Claude Code 반드시 재시작 — running MCP server는 잘못된 cwd로 떠있어 변경 미반영

왜 이렇게 해야 하는가

  • @playwright/mcp MCP server는 Claude CLI(부모 프로세스)로부터 cwd를 상속. Claude가 /에서 뜨면 서버도 /가 cwd.
  • 출력 디렉터리를 cwd 상대 .playwright-mcp로 생성 시도 → root 쓰기 권한 없음 → ENOENT.
  • --output-dir 인자가 없으면 매번 시작 cwd에 따라 동작 여부가 달라져 재현이 불규칙.

하지 말아야 할 것

  • --output-dir 없이 plugin 배포 — Claude Code 시작 cwd에 따라 랜덤 fail
  • plugin update 후 .mcp.json이 upstream으로 덮어써지면 fix 사라짐 → update 직후 재확인 필수
  • 상대 경로 (./output) 사용 — cwd 문제 그대로 재현

Forcing Function

  • plugin update 후 체크리스트: .mcp.json args에 --output-dir 절대 경로 있는지 1줄 확인
  • 영구 fix 후보: ~/.claude/settings.json mcpServers override로 인자 박기 (Claude Code 지원 시)
  • 재발 탐지: grep -r "output-dir" ~/.claude/plugins/cache/*/playwright/**/.mcp.json 0 hit = 재적용 필요

관련 이슈 (포스트모템)

  • issues/2026-05-02-playwright-mcp-cwd-output-dir.md
기록은 다음 시작이 됩니다.노하우 더 읽기 ↗이 작업장의 제품 ↗
작업장 전체 페이지 목적에 맞는 페이지 찾기