A Linux-first Claude Code Status Line Powered by Python

Cover image generated by Nano Banana 2 What This Package Provides I’ve released a Python package on GitHub (ceshine/claude-statusline-for-linux) that provides a two-line status line layout for the Claude Code CLI. The package is highly extensible and customizable, so feel free to fork the repository and adapt it to your own preferences! The package currently provides the following information: Line 1: Session Overview Model name: the active Claude model (e.g., “Sonnet 4.6”) Context window usage: a 16-segment visual bar plus a percentage, color-coded green/yellow/red as usage grows; switches to a prominent warning at ≥90% Session cost: cumulative USD cost for the current Claude Code session Per-call token breakdown: token counts from the latest API call, broken down into four categories: Input tokens (i) Output tokens (o) Cache creation tokens (cw) Cache read tokens (cr) Line 2: Workspace & Limits Working directory: the base name of the current project directory Git status: branch name plus counts of staged (+), unstaged (~), and untracked (?) files; hidden when not in a Git repository 5-hour rate limit usage: percentage of the 5-hour API quota consumed, with a countdown to reset 7-day rate limit usage: percentage of the 7-day API quota consumed, with a countdown to reset Vim mode: current Vim keybinding mode (NORMAL, INSERT, etc.); hidden when vim mode is inactive (Note: According to Claude Code’s documentation, the rate limit information is only available after the first API call.) ...

March 27, 2026 · Ceshine Lee

Ansible-managed systemd Timers

Cover image generated by Nano Banana 2 TL;DR In this post, I introduce a simple Ansible playbook that manages scheduled tasks with systemd timers and provides an AI-friendly interface for running recurring jobs. It offers much greater flexibility than cron. As a bonus, I also present a Python-based orchestrator for Rclone sync jobs, which is useful for setting up automatic cloud backups and works well with the Ansible playbook. ...

March 2, 2026 · Ceshine Lee

Developing an AI-assisted Hacker News Reader

Cover image generated by Nano Banana Pro Motivation Reading trending threads on Hacker News is one of my favorite ways to discover interesting stories and read (mostly) thought-provoking discussions. Since reading all the top stories would be very time-consuming, I use web apps such as Gemini, Google AI Studio, and Claude to have an LLM agent automatically fetch web pages and summarize their content for me. I then quickly browse the summaries and decide which threads I want to read in full. This approach has been quite effective for me. ...

February 11, 2026 · Ceshine Lee

Building Gemini CLI Usage Analyzer

Gemini CLI Usage Analyzer Project Banner Introduction Last week, I developed a lightweight command-line tool for analyzing Gemini CLI token usage and open-sourced it on GitHub. You can find the project at ceshine/gemini-cli-usage-analyzer. This post outlines why I built the tool, the technical challenges encountered during development, and the solutions implemented to resolve them. Note: Currently, the tool focuses on single-project analysis. Unlike Claude Code, which centralizes logs (e.g., in ~/.claude on Linux) to analyze overall cross-project usage by default, Gemini CLI lacks a built-in mechanism for unified log management across different projects. Support for aggregating statistics across multiple projects is on the development roadmap. ...

December 6, 2025 · Ceshine Lee

Reading the State of AI in 2025 Report from McKinsey

taken from the PDF Preamble and a bit of personal story I recently ended a multi-year consulting engagement. I might publish a reflection on this experience sometime in the future, but for now, let’s just say it was quite mentally draining. I didn’t have any energy left to write public blog posts during my tenure there, as evidenced by the lack of new posts here over the past two years. ...

November 23, 2025 · Ceshine Lee