| source | title | gist |
|---|---|---|
Session-Specific Plugin Configuration Claude Code CLI 26Q1 |
Based on the official Claude Code CLI documentation, yes, you can specify custom configuration for a single session using command-line parameters. code.claude
You can load plugins for a single session using the --plugin-dir flag: code.claude
claude --plugin-dir ~/session-logger
claude --plugin-dir ./my-pluginsThis flag is repeatable, so you can load multiple plugin directories: code.claude
claude --plugin-dir ./plugins-a --plugin-dir ./plugins-bBeyond plugins, you have several options for session-specific configuration: code.claude
--settings: Load additional settings from a JSON file or JSON string code.claude
claude --settings ./custom-settings.json
claude --settings '{"permissions":{"allow":["Bash(npm run *)"]}}'--setting-sources: Control which setting scopes to load (user, project, local) code.claude
claude --setting-sources user,projectThese session parameters follow Claude Code's configuration hierarchy: code.claude
- Managed (highest) - system-wide policies
- Command line arguments - your session flags (like
--plugin-dir,--settings) - Local -
.claude/settings.local.json - Project -
.claude/settings.json - User (lowest) -
~/.claude/settings.json
Command-line arguments do add on top of the existing configuration hierarchy. They don't replace the settings files but temporarily override specific values for that session. For --plugin-dir, the plugins are loaded in addition to any plugins already enabled in your settings files. code.claude
Additional flags that modify single-session behavior: code.claude
--agent: Specify a custom agent for this session--tools: Restrict available tools (e.g.,"Bash,Edit,Read")--allowedTools/--disallowedTools: Control tool permissions--model: Override the default model--permission-mode: Begin in a specific permission mode--mcp-config: Load MCP servers from specific files
These all work as temporary session overrides without affecting your persistent configuration.