Documentation / MCP and ACP

Claude Code

Run your own Claude Code inside Yuli, with your account, connected to the whole IDE and under the same rules.

In Subscription mode, Yuli runs your own Claude Code, unmodified and with your own account. Claude Code does the reasoning; Yuli gives it the full IDE as tools and enforces the same rules it applies to its own agent.

Claude Code is an Anthropic product. Yuli is not affiliated with or endorsed by Anthropic. Yuli never touches your credentials: you sign in yourself, through the official flow.

Connect step by step

  1. Choose the agent. In the selector above the chat, Who do you work with?, choose Claude Code in the “Your subscription · your account” group. You can also do it in Global options → AI and models → AI mode → Agent.
  2. Installation. If Yuli can't find claude, you'll see “Install Claude Code to use it here”. Click Open official installer, install it and click Detect again. Yuli doesn't download or install the CLI.
  3. Notice. Once, “Before you start with subscription mode” explains that Claude Code uses your account and that the code it reads goes to Anthropic under your account, just as it does outside Yuli. Click Got it, continue.
  4. Folder trust. Answer “Do you trust this folder for Claude Code?” with Trust and open Claude Code. Yuli also pre-approves the yuli server, so Claude Code doesn't ask again.
  5. Sign in inside Claude Code, in the terminal, as usual.
  6. If Claude Code hasn't approved the yuli server yet, Approve now appears: it restarts the session with the same conversation.

Yuli detects claude on the PATH, in the official installer and npm paths, and inside WSL on Windows.

Where the configuration lives

By default, Yuli writes nothing to your project. Its configuration lives in Yuli's working folder and is handed to Claude Code at startup, using documented CLI options:

Option File Contents
--settings settings.json Permissions, hooks and status line.
--mcp-config mcp.json The yuli server over stdio.
--append-system-prompt-file rules.md Yuli's rules.
--plugin-dir plugin/ The yuli-code plugin: Yuli's skills and the reviewer agent.

On Windows, these files are in %LOCALAPPDATA%\.yulicode\workspaces\<project id>\claude\ and are regenerated on every session start.

Inside the project (optional)

In Global options → AI and models → AI mode, “Subscription mode rules” group, turn off Configuration outside the project. Yuli then writes its configuration inside the project, excluded from Git:

File Contents
.mcp.json Registers the yuli server. Keeps your other servers.
.claude/CLAUDE.md Yuli's rules in a managed block. Anything you write outside it is never touched.
.claude/settings.local.json Permissions and hooks. Your rules are preserved.
.claude/hooks/yuli-hook Forwards every event to Yuli.
.claude/rules/ Stack standards and Sonar rules.
.claude/skills/yuli-* Yuli's procedures.
.claude/agents/yuli-reviewer.md The reviewer agent.

Before writing, Yuli shows you each file with its diff: Apply N files or Not now. It is applied as a task in the changes window and can be undone.

Permissions

List Contents
allow Bash, Edit, Write, MultiEdit, NotebookEdit, WebFetch, WebSearch and the yuli_* tools (except Git and CI).
ask git commit, git push, git merge, git rebase, git reset --hard, gh pr, glab mr, az pipelines, az repos, and yuli_git_commit, yuli_git_push, yuli_cloudbees.
deny Reading .env (in any folder) and ~/.ssh/**. Keys and *.pem are blocked by the hook.

Yuli also turns off automatic attribution in commits and PRs.

Hooks

Event What Yuli does
SessionStart Injects the project memory, the architecture style and the mission. After compacting or resuming, it injects the mission again.
UserPromptSubmit Decides whether Git and CI are enabled for the session based on your request.
PreToolUse Blocks unrequested Git/CI and reading secrets, checks structure and names, and shows questions as cards.
PostToolUse Reflects the work in the changes window, the plan, verification and quality.
PermissionRequest Shows the request as a Yuli card.
Stop Doesn't let the turn end without green verification and measurement, up to the number of retries.
SubagentStart / SubagentStop Counts background subagents.
Notification Alerts you to terminal dialogs.

If Yuli is closed, the hooks block nothing.

Working

The tab has two views, which you switch at the top right:

  • Chat (default): your requests, formatted responses, changed files, verification and the live plan. Claude Code stays compact at the bottom: that's where you type.
  • Terminal: Claude Code full screen.

Above both:

  • Model and Reasoning effort. Apply and restart restarts Claude Code and continues the same conversation.
  • Claude plan usage: the 5-hour window, the week and the spending limit.

Claude Code's own terminal menus appear as a card with the same options. Yuli sends the keystrokes only when you click.

Rules Yuli enforces

Rule How
Git, CI and DevOps only if you ask The hook blocks them if you didn't ask for them in the session. With the request, each action still asks for approval.
Branches only if you ask Creating a branch or a worktree is blocked even when Git is enabled.
Protected secrets .env, keys and credentials are not read.
Structure and names Every write is checked; if something fails, it is blocked with the exact fix.
Definition of done Without green verification (build, tests and startup), Claude Code can't end the turn.

Turn off Enforce the rules to switch to “Warn only”. Git and secrets are always protected. Verification retries sets how many times Yuli insists (3 by default).

Troubleshooting

Symptom What to do
“Waiting for Claude Code to use Yuli's tools” Approve the yuli server or click Approve now. Check it with /mcp.
/mcp shows yuli with an error Open the project in Yuli. yuli_status explains the reason.
The rules didn't change They load at startup: restart the session from the bar.