# Statusline

Fix or set up the daily.dev headlines in Claude Code.

- Repository: https://github.com/dailydotdev/daily (20130 stars)
- Category: AI and agents
- License: AGPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dailydotdev/daily --skill statusline -g -a claude-code -y`
Codex: `npx skills add dailydotdev/daily --skill statusline -g -a codex -y`
Cursor: `npx skills add dailydotdev/daily --skill statusline -g -a cursor -y`
Gemini CLI: `npx skills add dailydotdev/daily --skill statusline -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add dailydotdev/daily`

## Description

Fix or set up the daily.dev headlines in Claude Code. Use when the user sees the daily.dev headline twice, wants the old statusline entry removed after upgrading, asks to enable/disable the daily.dev statusline, or the headlines are not showing after installing the plugin.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

Since plugin version 0.7.0 the headlines come from a hooks module (`hooks/register.tsx`) that Claude Code 2.1.275 or later loads automatically: a status line entry under the prompt and a band above it, with no `settings.json` edits. Older plugin versions wired the same script into `statusLine` in `~/.claude/settings.json`. This skill cleans up that old entry, and sets it up only as a fallback on Claude Code versions that cannot load the hooks module.

First, find out which case applies:

1. Run `claude --version` and compare with 2.1.275.
2. Read `~/.claude/settings.json` (treat a missing file as `{}`) and look for a `statusLine` key whose `command` references `statusline/statusline.mjs`. That is the legacy daily.dev entry.

## Claude Code 2.1.275 or later

The hooks module shows the headlines on its own.

- If the legacy entry is present, remove the `statusLine` key and tell the user that was why the headline showed twice. If `statusLine` points somewhere else, leave it alone.
- If no headline is showing at all: check that `node` is on PATH, that the plugin is enabled in `/plugin`, and that the user has started a new session since installing. The band can also be hidden for the session with its **Hide** button; a new session brings it back.
- Do not add a `statusLine` entry on these versions.

## Claude Code before 2.1.275

The hooks module does not load here, so wire the script into settings as before.

This plugin's statusline script lives at `${CLAUDE_PLUGIN_ROOT}/statusline/statusline.mjs`. That path is version-pinned (it changes on every plugin update), so DO NOT write it into settings literally. Instead, derive the version-independent parent directory (strip the trailing `/<version>` segment from `${CLAUDE_PLUGIN_ROOT}`) and use a shell glob that always resolves the most recently installed version.

### Enable

The rest: https://github.com/dailydotdev/daily/blob/HEAD/.claude-plugin/plugins/daily.dev/skills/statusline/SKILL.md
