Feature request: welcomePanel setting for plugin-driven header customization

Resolved 💬 2 comments Opened Mar 25, 2026 by ls-edwin-bekaert Closed Apr 23, 2026

Summary

Allow plugins to customize the right-side panel of the Claude Code welcome screen via a welcomePanel setting, similar to how statusLine already works for the footer.

Motivation

The current welcome header shows a hardcoded "Tips for getting started" panel with suggestions like "Run /init to create a CLAUDE.md file". In team environments with plugins that orchestrate workflows (dashboards, Jira integration, onboarding), this panel is wasted space — and sometimes actively counterproductive when the tips suggest actions the team doesn't want engineers to take.

The statusLine setting already proves the pattern: a command-type hook that renders dynamic content in a fixed UI slot. A welcomePanel equivalent for the header's right-side panel would let plugins show contextual information at session start — project status, active stories, environment health, etc.

Proposed API

// settings.json
{
  "welcomePanel": {
    "type": "command",
    "command": "node path/to/my-welcome.js"
  }
}

The command would:

  • Run at session start (before first prompt)
  • Output plain text or markdown to stdout
  • Replace the "Tips for getting started" / "Recent activity" right-side panel
  • Fall back to the default panel if the command fails or returns empty

Use cases

  1. Team plugins — show team-specific onboarding tips instead of generic ones
  2. Orchestration dashboards — display active stories, blockers, or sprint status
  3. Environment checks — surface warnings (outdated deps, missing config) prominently in the header rather than buried in model context via SessionStart hooks
  4. Project context — show relevant project info (branch, last commit, CI status) at a glance

Current workarounds and their limitations

| Approach | Limitation |
|----------|-----------|
| SessionStart hook | Output goes to model context only, invisible to the user in the terminal |
| statusLine | Single line at the bottom, not enough space for a dashboard |
| --append-system-prompt | Model-only, not visible in terminal UI |

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗