Skip to content

Project

GitHub CLI (gh)

GitHub CLI (gh) is GitHub's official command-line tool for managing repositories, pull requests, issues, and workflows directly from the terminal.

Known aliases

  • cli/cli
  • gh
  • gh attestation verify
  • gh cli
  • GitHub CLI

Current stories

buildOne report1 publisher

GitHub Classroom's retirement removes assignment names, in-Classroom tests and LMS rosters

GitHub retired Classroom on 28 August 2026, decommissioning its website and APIs after closing new sign-ups on 26 May. Educators who did not export their data before then have to rebuild what Classroom held themselves.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap−5
Incentives55
Confidence60
buildOne report1 publisher

Coding agents put 13,000 internal screenshots in public GitHub repos, Glow reports

Glow counts more than 13,000 internal images in 900-plus public GitHub repos tied to developers at 300-plus organizations. Its report ties the uploads to coding agents that needed somewhere to show reviewers a screenshot a private repo could not render.

Publishers:dev.to

Reality

Evidence50
Adoption30
Hype gap+15
Incentives55
Confidence50
buildOne report1 publisher

A moved tag can no longer change what an onboarded GitHub Actions workflow runs

GitHub put workflow lockfiles in public preview, so onboarded Actions runs use the commits recorded in actions.lock even if a tag or branch moves. The lock does not assess whether the action is safe; that review stays with the team.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap−10
Incentives
Not scored
Confidence50
productOne report1 publisher

Claude Statuspane makes agent spend visible to one developer at a time

Anji Xu's open-source Claude Statuspane puts context use, five-hour and seven-day rate limits and session cost in a card above the Claude Code prompt. The readout lives on that one developer's screen, so whoever answers for a team's total agent spend still needs records kept somewhere central.

Publishers:devops.com

Reality

Evidence45
Adoption5
Hype gap0
Incentives
Not scored
Confidence50
buildOne report1 publisher

A free static host's daily visit quota turned away every visitor while the owner's check logged 'live-verified'

One developer's free static host sent HTTP 429 to every visitor after a daily visit quota ran out, while its deploy API still reported the release ready. Both green signals, deploy status and a scripted check, missed a ceiling that sat on the serving path.

Publishers:dev.to

Reality

Evidence50
Adoption
Not scored
Hype gap+5
Incentives
Not scored
Confidence45
buildConfirmed3 publishers

Coding agents routed more than 13,000 private screenshots through public GitHub repos

Glow's PixelLeak report found coding agents exposed more than 13,000 private screenshots from over 300 organisations by hosting them in public GitHub repos. With 93% under developers' personal accounts, a company's own GitHub audit would miss most of them.

Perspective Coverage

3 publishers
Builder
Builder 42%
Operator
Operator 50%
Investor
Investor 8%

Reality

Evidence55
Adoption50
Hype gap+10
Incentives55
Confidence60
buildOne report1 publisher

A Claude Code skill updater failed three straight Sundays while its audit note still read "exit 0"

One developer's weekly Claude Code skill update failed on 6, 13 and 20 September despite three layered fixes and an audit note reading "exit 0". The script caught and logged every failure correctly, but the log had no reader until the author opened it after the third one.

Publishers:dev.to

Reality

Evidence55
Adoption
Not scored
Hype gap+10
Incentives
Not scored
Confidence55
buildOne report1 publisher

An Android release pipeline consumed several times GitHub's 500MB Actions quota in about ten days

The failure landed on artifact upload, weeks after the pipeline went stable. The audit found ten near-identical Gradle caches, one per active branch, a hashFiles key that never matched anything, and 30-day retention on 70MB builds.

Publishers:dev.to

Reality

Evidence60
Adoption20
Hype gap+12
Incentives30
Confidence55
buildOne report1 publisher

A workflow_run listener reads the shutdown-signal line before it retries a dead CI job

On a self-hosted spot runner, an instance AWS reclaimed and a genuinely broken test both produce the same red X, so this pipeline reads the raw job log for four host-only strings and re-runs only the jobs the host killed.

Publishers:dev.to

Reality

Evidence64
Adoption10
Hype gap−10
Incentives18
Confidence58
buildOne report1 publisher

A workflow GitHub synthesises for Dependabot crashed a cron watchdog three nights running

The watchdog's own death and its one true alert both surface as step 6 failing, so three nights of verifying nothing look identical to the night it caught a daily cron that had been dead for 70.4 days.

Publishers:dev.to

Reality

Evidence72
Adoption15
Hype gap+8
Incentives22
Confidence58
buildOne report1 publisher

Signed payload's subject binds soit's image to a digest, not directly to its v1.0.0 tag

Reading soit-ai/soit v1.0.0 out of ghcr.io by hand shows how far a container signature reaches. It covers one digest, and the release tag survives as a string in the build predicate that nothing compares for you.

Publishers:dev.to

Reality

Evidence62
Adoption20
Hype gap+25
Incentives55
Confidence60
buildOne report1 publisher

Spec Kit plus gh stack splits a 135-file agent feature into three capped diffs

Enforcement is a bash script that counts files against the merge-base with the parent branch, so it bounds one diff at a time, and only if the agent chooses to run it. The 100 is an environment variable's default.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap+35
Incentives
Not scored
Confidence62
buildOne report1 publisher

A broad deny in Claude Code outranks the narrow allow meant to except it

Permission rules accumulate from "yes, don't ask again" answers into a repo-local file, and because matching runs deny then ask then allow with no specificity tiebreak, a policy that reads correctly can still stall an unattended run.

Publishers:dev.to

Reality

Evidence55
Adoption22
Hype gap+8
Incentives32
Confidence58
buildOne report1 publisher

A 10-minute Codex heartbeat keeps pushing repairs to your PR until the merge goes through

RuntimeWire says it found the loop by taking apart OpenAI's shipped desktop build, and the optional merge step is the part that matters: it makes your branch protection config the only review your default branch gets.

Publishers:runtimewire.com

Reality

Evidence60
Adoption20
Hype gap+18
Incentives60
Confidence48
buildOne report1 publisher

GitHub's gh stack absorbs the rebase work that made hand-rolled stacks unusable

Stacked pull requests are still in public preview, and the command that creates them is not the command that updates them. What the extension does remove is the author-side coordination cost that made "make your diffs smaller" an argument rather than a workflow.

Publishers:dev.to

Reality

Evidence46
Adoption18
Hype gap+15
Incentives42
Confidence47
buildOne report1 publisher

Nine bundled CLIs, zero static links: an OpenSSL CVE becomes a file copy, and the parser is the bill

A desktop app that shells out to openssl.exe and ffmpeg.exe can absorb a CVE with a few-megabyte drop-in. The author is unusually clear about the price: spawn latency, and a parser per tool.

Publishers:dev.to

Reality

Evidence30
Adoption20
Hype gap+5
Incentives65
Confidence48
buildOne report1 publisher

Decoys in the .env file: Jitpass bets on lying to your coding agent

A Mac utility replaces plaintext credentials with fake ones and injects the real value into an approved process after Touch ID. The pattern is now on every security team's evaluation list.

Publishers:runtimewire.com

Reality

Evidence36
Adoption9
Hype gap+28
Incentives68
Confidence38
buildOne report1 publisher

A guard that reads workflow files proves the schedule is in git, not that the job ran

A reader argued a static check only proves a declaration exists in source control. The canary that replaced it went red on its first manual run against production, and one failure was two days old.

Publishers:dev.to

Reality

Evidence38
Adoption12
Hype gap+14
Incentives62
Confidence44
buildOne report1 publisher

211 Guards From 1,448 Sessions: One Operator's Case Against Prompting Agents Nicely

A solo founder says every rule in his agent system was written after a failure, and that only shell-level blocks held. The interesting part is the promotion threshold, not the count.

Publishers:dev.to

Reality

Evidence26
Adoption12
Hype gap+28
Incentives68
Confidence34