# ByteTech247 > ByteTech247 delivers expert Dev Tools, automation, and AI productivity insights. Get production-ready guides and fixes to optimize your workflows. ## Categories - [Dev Tools](https://bytetech247.com/dev-tools/) - [Data & Automation](https://bytetech247.com/data-automation/) - [AI Productivity](https://bytetech247.com/ai-productivity/) - [Guides & Fixes](https://bytetech247.com/guides-fixes/) ## Tools - [AI Token Counter](https://bytetech247.com/tools/ai-token-counter/): Count tokens for GPT, Claude, and Gemini prompts — exact for GPT, clearly-labeled estimates for Claude and Gemini. Runs entirely in your browser. - [LLM Pricing Calculator](https://bytetech247.com/tools/llm-pricing-calculator/): Compare real dollar costs across GPT-5.6, Claude Opus 4.7/4.8, and Gemini 3.6 Flash, including each provider's prompt-caching math. Runs entirely in your browser. - [MCP Compatibility Checker](https://bytetech247.com/tools/mcp-compatibility-checker/): A free, 7-point live audit of your remote MCP server against the July 2026 spec rewrite, with upgrade guidance for anything that's out of date. ## Posts - [Annual Copilot Plans: Model Multipliers Just Spiked](https://bytetech247.com/ai-productivity/annual-copilot-plans-model-multipliers-spike/): GitHub revised Copilot's legacy model-multiplier table for annual Pro/Pro+ plans on June 1, 2026, some models jumped as high as 57x. (Markdown: https://bytetech247.com/ai-productivity/annual-copilot-plans-model-multipliers-spike.md) - [Check Your Copilot AI Credits Usage Before Sept 1](https://bytetech247.com/ai-productivity/check-copilot-ai-credits-usage-before-sept-1/): See GitHub Copilot AI Credits usage per cycle, per user via API, and org-wide before the Sept 1, 2026 allowance cut hits your bill. (Markdown: https://bytetech247.com/ai-productivity/check-copilot-ai-credits-usage-before-sept-1.md) - [Why Copilot Agent Mode Burns Through Credits So Fast](https://bytetech247.com/ai-productivity/copilot-agent-mode-credits-consumption/): GitHub Copilot's Agent Mode spends AI credits per tool-calling step, not per message. Here's the actual mechanism, with real token math and a sourced case. (Markdown: https://bytetech247.com/ai-productivity/copilot-agent-mode-credits-consumption.md) - [gh agent-task: Run Copilot Coding Sessions From gh](https://bytetech247.com/dev-tools/gh-agent-task-copilot-coding-sessions/): gh agent-task creates, follows, and lists GitHub Copilot coding-agent sessions from the terminal. Still preview, requires GitHub CLI v2.80.0+. (Markdown: https://bytetech247.com/dev-tools/gh-agent-task-copilot-coding-sessions.md) - [gh CLI 2.97.0 Fixes Terminal Injection in 7 Commands](https://bytetech247.com/dev-tools/gh-cli-2-97-0-terminal-injection-fixes/): GitHub CLI (gh) 2.97.0 fixes a terminal escape-sequence injection bug (GHSA-3m3g-3wcr-px46) across gh api, gh pr diff, and 5 more commands. Update now. (Markdown: https://bytetech247.com/dev-tools/gh-cli-2-97-0-terminal-injection-fixes.md) - [Update gh CLI Now: Codespace Jupyter RCE Fixed](https://bytetech247.com/dev-tools/gh-cli-codespace-jupyter-rce-fixed/): A malicious Codespace could use gh codespace jupyter to hand VS Code a vscode:// URL and run commands on your machine. Fixed in gh CLI v2.96.0. (Markdown: https://bytetech247.com/dev-tools/gh-cli-codespace-jupyter-rce-fixed.md) - [gh CLI's New PGP Signing Key for Linux Packages](https://bytetech247.com/dev-tools/gh-cli-new-pgp-signing-key-linux/): GitHub rotated the PGP key signing gh CLI's Linux apt/dnf/yum packages on 2026-04-08. Update your keyring before the old key expires Sept 5, 2026. (Markdown: https://bytetech247.com/dev-tools/gh-cli-new-pgp-signing-key-linux.md) - [Manage GitHub Sub-Issues and Dependencies via gh CLI](https://bytetech247.com/dev-tools/gh-cli-sub-issues-dependencies/): Set parent issues, list sub-issues, and add blocked-by dependencies with gh CLI's issue edit and create commands, no browser needed. (Markdown: https://bytetech247.com/dev-tools/gh-cli-sub-issues-dependencies.md) - [gh discussion: GitHub Discussions in Your Terminal](https://bytetech247.com/dev-tools/gh-discussion-command-github-cli/): gh discussion adds list, view, create, edit, and comment subcommands to GitHub CLI, giving GitHub Discussions the same terminal ergonomics as issues and PRs. (Markdown: https://bytetech247.com/dev-tools/gh-discussion-command-github-cli.md) - [gh release download No Longer Needs Auth (Public Repos)](https://bytetech247.com/dev-tools/gh-release-download-no-auth-public-repos/): gh release download now works against public repos without auth, matching gh extension install. What changed in v2.96.0, and a CI example. (Markdown: https://bytetech247.com/dev-tools/gh-release-download-no-auth-public-repos.md) - [gh skill: Manage AI Agent Skills From GitHub CLI](https://bytetech247.com/dev-tools/gh-skill-manage-ai-agent-skills/): gh skill installs, searches, updates, and publishes AI agent skills for Claude Code, Cursor, and more, right from GitHub CLI. (Markdown: https://bytetech247.com/dev-tools/gh-skill-manage-ai-agent-skills.md) - [gh skill --pin: Tag vs Commit SHA, Which to Use](https://bytetech247.com/dev-tools/gh-skill-pin-tag-vs-commit-sha/): gh skill install --pin accepts a tag or a commit SHA. Pin to a SHA for CI reproducibility; a tag is fine for casual, supervised installs. (Markdown: https://bytetech247.com/dev-tools/gh-skill-pin-tag-vs-commit-sha.md) - [GitHub CLI's 2026 Agent-Era Expansion: Full Guide](https://bytetech247.com/dev-tools/github-cli-2026-agent-era-expansion/): GitHub CLI (gh) added skill, discussion, and sub-issue commands in 2026, plus two security fixes. Full guide to all 10 changes and what to do. (Markdown: https://bytetech247.com/dev-tools/github-cli-2026-agent-era-expansion.md) - [How GitHub CLI Became an AI-Agent Control Surface](https://bytetech247.com/dev-tools/github-cli-ai-agent-control-surface/): GitHub CLI (gh) shipped skill, discussion, and issue-hierarchy commands in 2026. See how gh became a real control surface for AI-agent tooling. (Markdown: https://bytetech247.com/dev-tools/github-cli-ai-agent-control-surface.md) - [GitHub Copilot's AI Credits Cliff: Full Guide](https://bytetech247.com/ai-productivity/github-copilot-ai-credits-cliff-2026/): GitHub Copilot's promotional AI Credits allowances revert to standard levels on September 1, 2026. What changed June 1, what reverts, and how to prepare. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-ai-credits-cliff-2026.md) - [How GitHub Copilot AI Credits Are Actually Priced](https://bytetech247.com/ai-productivity/github-copilot-ai-credits-pricing-explained/): GitHub Copilot's AI Credits convert real per-token, per-model pricing into dollars at a fixed 1 credit = $0.01 rate. Here's exactly how the math works. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-ai-credits-pricing-explained.md) - [Setting Copilot Budget Controls Before the Sept Cliff](https://bytetech247.com/ai-productivity/github-copilot-budget-controls-setup/): Configure GitHub Copilot AI credits budgets before Sept 1, 2026: set the org/cost-center stop-usage toggle and per-user hard stop limits. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-budget-controls-setup.md) - [GitHub Copilot Plans Compared by AI Credits, Not Price](https://bytetech247.com/ai-productivity/github-copilot-plans-compared-by-ai-credits/): GitHub Copilot plans don't scale AI credits with price. Real credits-per-dollar math across Free, Pro, Pro+, Max, Business, and Enterprise. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-plans-compared-by-ai-credits.md) - [GitHub Copilot's PRU to AI Credits Migration, Explained](https://bytetech247.com/ai-productivity/github-copilot-pru-to-ai-credits-migration/): GitHub retired Premium Request Units for AI Credits on June 1, 2026, for monthly Copilot plans. Here's what changed under the hood, and what didn't. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-pru-to-ai-credits-migration.md) - [What to Do Before GitHub Copilot's Sept 1 Credit Cliff](https://bytetech247.com/ai-productivity/github-copilot-sept-1-credit-cliff-checklist/): A step-by-step checklist to check Copilot AI credit usage, set budget controls, and size your budget before GitHub's Sept 1, 2026 credit cliff hits. (Markdown: https://bytetech247.com/ai-productivity/github-copilot-sept-1-credit-cliff-checklist.md) - [Pick Cheaper Copilot Models to Stretch Your Credits](https://bytetech247.com/ai-productivity/pick-cheaper-copilot-models-stretch-credits/): GitHub Copilot prices every model differently. Here's when a cheaper model is genuinely enough, and when frontier capability is worth the extra credits. (Markdown: https://bytetech247.com/ai-productivity/pick-cheaper-copilot-models-stretch-credits.md) - [What Happens When GitHub Copilot Credits Run Out](https://bytetech247.com/ai-productivity/what-happens-when-copilot-credits-run-out/): GitHub Copilot's paid overage is on by default for orgs once AI credits run out - here is exactly what happens with and without a budget. (Markdown: https://bytetech247.com/ai-productivity/what-happens-when-copilot-credits-run-out.md) - [actions/checkout v7 Blocks pull_request_target PRs](https://bytetech247.com/dev-tools/actions-checkout-v7-blocks-pull-request-target-prs/): actions/checkout v7 refuses to fetch fork PR code in pull_request_target and workflow_run by default. Here's the fix if your workflow relied on it. (Markdown: https://bytetech247.com/dev-tools/actions-checkout-v7-blocks-pull-request-target-prs.md) - [Approve Workflow Runs From github-actions[bot] PRs](https://bytetech247.com/dev-tools/approve-workflow-runs-github-actions-bot-prs/): Pull requests from github-actions[bot] can now trigger CI workflows, but only after a collaborator approves the run. Here's how the gate works. (Markdown: https://bytetech247.com/dev-tools/approve-workflow-runs-github-actions-bot-prs.md) - [Fix ChatGPT Conversation With Assistant Migration](https://bytetech247.com/data-automation/fix-chatgpt-conversation-with-assistant-migration/): Zapier auto-migrates ChatGPT's Conversation With Assistant (Legacy) action but leaves the new Zap off. How to review and re-enable it before Aug 26, 2026. (Markdown: https://bytetech247.com/data-automation/fix-chatgpt-conversation-with-assistant-migration.md) - [Fix Greenhouse Zaps for Harvest v3 Field Changes](https://bytetech247.com/data-automation/fix-greenhouse-zaps-for-harvest-v3-field-changes/): Every Greenhouse trigger, action, and search built on Harvest v1/v2 needs checking against v3's field changes. Here's Zapier's exact affected-steps list. (Markdown: https://bytetech247.com/data-automation/fix-greenhouse-zaps-for-harvest-v3-field-changes.md) - [Fix HubSpot Add Contact to List After V1 Sunset](https://bytetech247.com/data-automation/fix-hubspot-add-contact-to-list-after-v1-sunset/): HubSpot's v1 Lists API sunset April 30, 2026, breaking Zapier's Add/Remove Contact from List actions. Here's what we know and how to check your Zaps. (Markdown: https://bytetech247.com/data-automation/fix-hubspot-add-contact-to-list-after-v1-sunset.md) - [Fix Vitest 5 bench No Longer Top-Level Export](https://bytetech247.com/guides-fixes/fix-vitest-5-bench-no-longer-top-level-export/): Vitest 5 removes bench as a top-level export. Fix it by moving benchmarks into a test() context fixture instead. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-bench-no-longer-top-level-export.md) - [Fix Vitest 5 Cannot Find Module vitest/reporters](https://bytetech247.com/guides-fixes/fix-vitest-5-cannot-find-module-vitest-reporters/): Fix Vitest 5's module resolution failure on vitest/reporters and vitest/coverage. Vitest 5 removes eight subpath imports; use vitest/node instead. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-cannot-find-module-vitest-reporters.md) - [Fix Vitest 5 clearMocks Breaking Mock State](https://bytetech247.com/guides-fixes/fix-vitest-5-clearmocks-breaking-mock-state/): Fix Vitest 5's clearMocks: true default wiping mock call history between tests, and decide whether to restore it or fix the test. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-clearmocks-breaking-mock-state.md) - [Fix Vitest 5 Config Not Found in Parent Directory](https://bytetech247.com/guides-fixes/fix-vitest-5-config-not-found-parent-directory/): Fix Vitest 5 no longer finding a vitest.config.ts in a parent directory when run from a subdirectory. Pass --config explicitly. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-config-not-found-parent-directory.md) - [Fix Vitest 5 expect.poll Timeout Error](https://bytetech247.com/guides-fixes/fix-vitest-5-expect-poll-timeout-error/): Vitest 5 throws 'expect.poll() function didn't resolve in time.' on timeout instead of letting a late result pass. Here's the fix. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-expect-poll-timeout-error.md) - [Fix Vitest 5 Projects Not Inheriting Root Config](https://bytetech247.com/guides-fixes/fix-vitest-5-projects-not-inheriting-root-config/): Vitest 5's extends option defaults to true, so inline test.projects now inherit root plugins and setupFiles automatically. Fix it with extends: false. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-projects-not-inheriting-root-config.md) - [Fix Vitest 5 test.sequential Removed Error](https://bytetech247.com/guides-fixes/fix-vitest-5-test-sequential-removed-error/): Fix Vitest 5 removing test.sequential, describe.sequential, and the sequential option. Replace them with concurrent: false. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-test-sequential-removed-error.md) - [Fix Vitest 5 toThrow('') Silently Passing Tests](https://bytetech247.com/guides-fixes/fix-vitest-5-tothrow-empty-string-silently-passing/): Vitest 5 changes toThrow('') to match any thrown error, not just an empty message. Fix the silent false-pass with toThrow(/^$/) or toThrow(). (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-tothrow-empty-string-silently-passing.md) - [Fix Vitest 5 Unawaited Async Assertion Error](https://bytetech247.com/guides-fixes/fix-vitest-5-unawaited-async-assertion-error/): Vitest 5 fails tests outright on an unawaited async assertion instead of just warning. Here's why, and the one-line fix. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-unawaited-async-assertion-error.md) - [Fix Vitest 5 vi.mock Top-Level Scope Error](https://bytetech247.com/guides-fixes/fix-vitest-5-vi-mock-top-level-scope-error/): Fix Vitest 5's "defined outside of the module's top level scope" error thrown by vi.mock, vi.unmock, and vi.hoisted. (Markdown: https://bytetech247.com/guides-fixes/fix-vitest-5-vi-mock-top-level-scope-error.md) - [Set Up GitHub Agentic Workflows in Actions](https://bytetech247.com/dev-tools/github-actions-agentic-workflows-setup/): GitHub Agentic Workflows (public preview) compiles Markdown into Actions YAML for AI-driven triage and CI analysis, sandboxed behind a read-only default. (Markdown: https://bytetech247.com/dev-tools/github-actions-agentic-workflows-setup.md) - [GitHub Actions Cache Goes Read-Only on Untrusted Triggers](https://bytetech247.com/dev-tools/github-actions-cache-read-only-untrusted-triggers/): GitHub Actions now issues read-only cache tokens for untrusted triggers like pull_request_target, closing a cache-poisoning path. Here's what still writes. (Markdown: https://bytetech247.com/dev-tools/github-actions-cache-read-only-untrusted-triggers.md) - [Build Custom GitHub Actions Runner Images in Layers](https://bytetech247.com/dev-tools/github-actions-layered-custom-runner-images/): GitHub Actions larger runners can now build a custom image on top of another custom image, plus conditional snapshot: generation for image versions. (Markdown: https://bytetech247.com/dev-tools/github-actions-layered-custom-runner-images.md) - [Run GitHub Actions Steps in Parallel With background](https://bytetech247.com/dev-tools/github-actions-parallel-steps-background-keyword/): GitHub Actions steps can now run in parallel with background: true, wait, wait-all, cancel, and parallel. Here is when to use each keyword. (Markdown: https://bytetech247.com/dev-tools/github-actions-parallel-steps-background-keyword.md) - [Reference Same-Repo Actions With $/ Syntax](https://bytetech247.com/dev-tools/github-actions-self-repository-dollar-slash-syntax/): GitHub Actions' new $/ syntax resolves a same-repo action to the exact running commit, no checkout step needed. Requires runner 2.336.0 or newer. (Markdown: https://bytetech247.com/dev-tools/github-actions-self-repository-dollar-slash-syntax.md) - [GitHub Actions' Summer 2026 Overhaul: Full Guide](https://bytetech247.com/dev-tools/github-actions-summer-2026-security-config-overhaul/): GitHub shipped 10 Actions changes across June-July 2026: one breaking checkout default, a runner version cutoff, new security controls, and new syntax. (Markdown: https://bytetech247.com/dev-tools/github-actions-summer-2026-security-config-overhaul.md) - [GitHub Actions: Upgrade Self-Hosted Runners by Jul 31](https://bytetech247.com/dev-tools/github-actions-upgrade-self-hosted-runners-july-31/): GitHub now enforces a minimum self-hosted runner version (2.329.0+) with brownout windows before full enforcement. Check your version before jobs stop running. (Markdown: https://bytetech247.com/dev-tools/github-actions-upgrade-self-hosted-runners-july-31.md) - [Set Up GitHub Actions Workflow Execution Protections](https://bytetech247.com/dev-tools/github-actions-workflow-execution-protections/): Workflow execution protections let you allow-list who can trigger GitHub Actions workflows and which events are permitted, built on GitHub's rulesets. (Markdown: https://bytetech247.com/dev-tools/github-actions-workflow-execution-protections.md) - [Migrate Zapier Functions Python Code to fetch()](https://bytetech247.com/data-automation/migrate-zapier-functions-python-code-to-fetch/): Zapier Functions shuts down September 1, 2026. Migrate Python requests calls to fetch() in Code by Zapier, except authenticated calls, handled differently. (Markdown: https://bytetech247.com/data-automation/migrate-zapier-functions-python-code-to-fetch.md) - [Pipedrive V2 API Drops Fields Like deal_title](https://bytetech247.com/data-automation/pipedrive-v2-api-drops-fields-like-deal-title/): Pipedrive's V2 API returns fewer fields than V1, including deal_title. Here's why remapping the trigger alone isn't enough, and how to backfill it. (Markdown: https://bytetech247.com/data-automation/pipedrive-v2-api-drops-fields-like-deal-title.md) - [Fix Pipedrive Zaps Tagged [DEPRECATING JULY 31 2026]](https://bytetech247.com/data-automation/pipedrive-zaps-tagged-deprecating-july-31-2026/): Zapier tags affected Pipedrive steps [DEPRECATING JULY 31 2026] ahead of the V1 API sunset. The label is cosmetic until you remap the step yourself. (Markdown: https://bytetech247.com/data-automation/pipedrive-zaps-tagged-deprecating-july-31-2026.md) - [Rebuild ChatGPT Create Assistant Zaps by Aug 26](https://bytetech247.com/data-automation/rebuild-chatgpt-create-assistant-zaps/): Create Assistant, Upload File, Find Assistant, and Find or Create Assistant have no direct replacement in Zapier. Here's how to rebuild before Aug 26, 2026. (Markdown: https://bytetech247.com/data-automation/rebuild-chatgpt-create-assistant-zaps.md) - [Reconnect Greenhouse Zaps to OAuth 2.0 by Aug 26](https://bytetech247.com/data-automation/reconnect-greenhouse-zaps-to-oauth-2-0/): Greenhouse version 2.0.0 uses Harvest v3 and OAuth 2.0 auth. Zaps on the old API-key connection need a manual Reconnect before Aug 26, 2026. (Markdown: https://bytetech247.com/data-automation/reconnect-greenhouse-zaps-to-oauth-2-0.md) ## Feeds - [Sitewide RSS](https://bytetech247.com/rss.xml) - [Sitemap](https://bytetech247.com/sitemap.xml)