`wrangler types` doesn't generate generic `DurableObjectNamespace`

Running wrangler types on my worker project outputs this:
declare namespace Cloudflare {
interface Env {
USER_DO: DurableObjectNamespace /* User */;
}
}
interface Env extends Cloudflare.Env {}
declare namespace Cloudflare {
interface Env {
USER_DO: DurableObjectNamespace /* User */;
}
}
interface Env extends Cloudflare.Env {}
…but I was hoping it’d generate the proper generic:
USER_DO: DurableObjectNamespace<User>;
USER_DO: DurableObjectNamespace<User>;
Here is how my setup looks like: - wrangler.jsonc
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "worker",
"main": "/src/index.ts",
"compatibility_date": "2025-05-01",
"observability": {
"enabled": true
},
"durable_objects": {
"bindings": [
{
"name": "USER_DO",
"class_name": "User"
}
]
},
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": ["User"]
}
]
}
{
"$schema": "node_modules/wrangler/config-schema.json",
"name": "worker",
"main": "/src/index.ts",
"compatibility_date": "2025-05-01",
"observability": {
"enabled": true
},
"durable_objects": {
"bindings": [
{
"name": "USER_DO",
"class_name": "User"
}
]
},
"migrations": [
{
"tag": "v1",
"new_sqlite_classes": ["User"]
}
]
}
- src/index.ts
...
export default class extends WorkerEntrypoint<Env> {
async fetch(request: Request) {
return app.fetch(request, this.env, this.ctx);
}
}

export { User };
...
export default class extends WorkerEntrypoint<Env> {
async fetch(request: Request) {
return app.fetch(request, this.env, this.ctx);
}
}

export { User };
Everything compiles and runs fine, but the generated types never includes the <User>. Did I miss a flag or setting? This is probably related to https://discord.com/channels/595317990191398933/1361839487872929894/1361839487872929894
3 Replies
James
James7mo ago
I'd probably recommend filing a bug/fr at https://github.com/cloudflare/workers-sdk/issues for this. I don't think you're missing anything - I think it's just not yet supported. I'd recommend manually defining your types for now.
henri
henriOP7mo ago
Oh, I see. I'll do that, thanks!
johtso
johtso5mo ago
GitHub
Stricter generated types for Workflows in worker-configuration.d.ts...
Describe the solution When you have durable objects defined and run wrangler types then the following strict types will be generated in worker-configuration.d.ts declare namespace Cloudflare { inte...

Did you find this page helpful?