Clatter Labs
Console

Line CLI

Claude Code compatibility

Use Claude Code plugins, marketplaces, skills, agents, hooks and MCP servers in Line CLI, and bring over an existing setup with line import claude.

Line CLI reads Claude Code plugins and marketplaces as they are, so you can use the plugins you already have. Everything from a plugin follows Line's trust model: installed plugins stay off until you review and enable them.

Bring over your setup

Terminal
line import claude --dry-run   # show what would be imported, change nothing
line import claude             # show each item, then apply it

Line reads ~/.claude (or CLAUDE_CONFIG_DIR) and never overwrites anything already in Line:

Claude CodeLine
~/.claude/skills/<name>/SKILL.md~/.line/skills/<name>/
~/.claude/agents/*.md~/.line/agents/ (tool names are translated)
MCP servers (user scope, ~/.claude.json)~/.line/mcp.json
Hooks in ~/.claude/settings.jsonLine's hooks, shown command by command
~/.claude/CLAUDE.md~/.line/LINE.md, only when Line has none
Known marketplacesLine marketplaces, pinned at their current commit

Installed Claude Code plugins are listed with the command that installs each one in Line. They aren't installed automatically, because each needs its own review and enable step. -y applies everything without asking per item.

In a project, Line follows LINE.md, AGENTS.md or CLAUDE.md at the root.

Plugins

PieceIn Line
.claude-plugin/plugin.json (name, version, description, author, license, commands, agents, hooks, mcpServers)Read. With no manifest, the folder name is the plugin name
commands/*.md (front matter description, argument-hint, allowed-tools, model)/<plugin>:<command>, or /<command> when no other plugin uses the name. $ARGUMENTS, $1…$9, and @file attaches a file
agents/*.mdSub-agents named <plugin>:<agent>; tool names are translated
skills/<name>/SKILL.mdAvailable while the plugin is enabled
hooks/hooks.jsonPreToolUse, PostToolUse, UserPromptSubmit, Stop, SessionStart, SessionEnd, PreCompact, SubagentStop, Notification
.mcp.json / mcpServersStarted when the plugin is enabled
${CLAUDE_PLUGIN_ROOT}, ${CLAUDE_PLUGIN_DATA}, ${CLAUDE_PROJECT_DIR}Set for hooks and MCP servers
userConfig, bin/, .lsp.json, themes/, output-styles/Not yet (planned for 1.1)

Inline !command in a command file runs only after you approve the exact commands, every time and in any mode, and your deny rules still apply. Its output replaces it in the prompt.

Hooks

Hooks from Claude Code plugins see Claude Code tool names (Bash, Read, Write, Edit, Glob, Grep, WebFetch, Task…) in their matchers and in their stdin JSON (tool_name, tool_input.file_path, tool_input.command).

  • Exit code 2 blocks the call.
  • JSON output is understood: permissionDecision deny or ask, decision: "block", continue: false and additionalContext.
  • allow never skips Line's own approval.
  • PreToolUse runs before the permission prompt.
  • A hook that runs past its timeout (60 seconds by default) is stopped together with everything it started.

Marketplaces

Claude Code marketplaces (marketplace.json) work as Line marketplaces:

Terminal
line plugin marketplace add <owner/repo | git URL | folder>
line plugin install <name>@<marketplace>

See Plugins and marketplaces for updating, removing and the full trust model.