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
- 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.
- 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. - 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.
- Folder trust. Answer “Do you trust this folder for Claude Code?” with Trust and open Claude Code. Yuli also pre-approves the
yuliserver, so Claude Code doesn't ask again. - Sign in inside Claude Code, in the terminal, as usual.
- If Claude Code hasn't approved the
yuliserver 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. |