Skip to content
Back to skills

434 Gotchas 0ebd0686

ASecurity

**Error:** "Invalid namespace ID" **Fix:** Replace placeholders in wrangler.jsonc with real IDs:

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 1, 2026
devopstypescriptbashnextjsnodegitapici/cd

Works with

  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 1, 2026

npx -y skills add tools-only/X-Skills --skill 434-gotchas_0ebd0686 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 434 Gotchas 0ebd0686?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 434 Gotchas 0ebd0686
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-434-gotchas-0ebd0686/badge)](https://www.skillsdirectory.com/skills/tools-only-434-gotchas-0ebd0686)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# C3 Troubleshooting

## Deployment Issues

### Placeholder IDs

**Error:** "Invalid namespace ID"  
**Fix:** Replace placeholders in wrangler.jsonc with real IDs:

```bash
npx wrangler kv namespace create MY_KV  # Get real ID
```

### Authentication

**Error:** "Not authenticated"  
**Fix:** `npx wrangler login` or set `CLOUDFLARE_API_TOKEN`

### Name Conflict

**Error:** "Worker already exists"  
**Fix:** Change `name` in wrangler.jsonc

## Platform Selection

| Need                             | Platform           |
| -------------------------------- | ------------------ |
| Git integration, branch previews | `--platform=pages` |
| Durable Objects, D1, Queues      | Workers (default)  |

Wrong platform? Recreate with correct `--platform` flag.

## TypeScript Issues

**"Cannot find name 'KVNamespace'"**

```bash
npm run cf-typegen  # Regenerate types
# Restart TS server in editor
```

**Missing types after config change:** Re-run `npm run cf-typegen`

## Package Manager

**Multiple lockfiles causing issues:**

```bash
rm pnpm-lock.yaml  # If using npm
rm package-lock.json  # If using pnpm
```

## CI/CD

**CI hangs on prompts:**

```bash
npm create cloudflare@latest my-app -- \
  --type=hello-world --lang=ts --no-git --no-deploy
```

**Auth in CI:**

```yaml
env:
  CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
  CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
```

## Framework-Specific

| Framework | Issue                  | Fix                              |
| --------- | ---------------------- | -------------------------------- |
| Next.js   | create-next-app failed | `npm cache clean --force`, retry |
| Astro     | Adapter missing        | Install `@astrojs/cloudflare`    |
| Remix     | Module errors          | Update `@remix-run/cloudflare*`  |

## Compatibility Date

**"Feature X requires compatibility_date >= ..."**  
**Fix:** Update `compatibility_date` in wrangler.jsonc to today's date

## Node.js Version

**"Node.js version not supported"**  
**Fix:** Install Node.js 18+ (`nvm install 20`)

## Quick Reference

| Error                   | Cause               | Fix                             |
| ----------------------- | ------------------- | ------------------------------- |
| Invalid namespace ID    | Placeholder binding | Create resource, update config  |
| Not authenticated       | No login            | `npx wrangler login`            |
| Cannot find KVNamespace | Missing types       | `npm run cf-typegen`            |
| Worker already exists   | Name conflict       | Change `name`                   |
| CI hangs                | Missing flags       | Add --type, --lang, --no-deploy |
| Template not found      | Bad name            | Check cloudflare/templates      |

Files in this skill

  • README.md998 B
  • skill.md2.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.