# 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      |
