Skip to content
Back

Multiple Set-Cookie headers collapsed on Appwrite Deploy (Next.js 15) — only 1 cookie set

  • 0
  • Sites
  • Web
  • Auth
darko
22 Oct, 2025, 07:42

I’m deploying a Next.js 15 app to Appwrite → Deploy → Sites. In app/api/auth/login/route.ts I try to set 3 cookies.

Variant A (manual headers):

const headers = new Headers(); headers.set("Content-Type", "application/json"); headers.set("Cache-Control", "no-store"); headers.set("Set-Cookie", sessionCookie); headers.append("Set-Cookie", teamCookie); headers.append("Set-Cookie", localeCookie);

return new Response(JSON.stringify({ ok: true }), { status: 200, headers });

Variant B (NextResponse API):

import { NextResponse } from "next/server";

export async function POST() { const res = NextResponse.json({ ok: true }, { headers: { "Cache-Control": "no-store" } }); res.cookies.set("a_session", "secret", { path: "/", httpOnly: true, sameSite: "lax", secure: true }); res.cookies.set("active_team_id", "team123", { path: "/", httpOnly: true, sameSite: "lax", secure: true }); res.cookies.set("NEXT_LOCALE", "en", { path: "/", sameSite: "lax", secure: true }); return res; }

Expected: Browser should receive three distinct Set-Cookie headers and store all 3.

Actual: On Appwrite Deploy, I only see one Set-Cookie in DevTools → Network → Response Headers (and only the last cookie is stored). On my own server (local/custom), all 3 Set-Cookie headers appear and all 3 cookies are stored.

What I tried:

headers.append("Set-Cookie", ...) with different orders

NextResponse.cookies.set(...) approach

Static hard-coded cookie values

Verified in DevTools: still only one Set-Cookie on Appwrite Deploy

Env:

Next.js 15 (App Router, Route Handlers)

Same-origin fetch (no CORS)

secure: true, SameSite=Lax, no domain specified

Works locally / custom server, issue only on Appwrite Deploy → Sites

Question: Is Appwrite Deploy’s proxy collapsing multiple Set-Cookie headers? What’s the recommended way to reliably set multiple cookies on Appwrite Deploy?

TL;DR
Developers deploying a Next.js 15 app to Appwrite are experiencing issues with setting multiple cookies. Despite trying two different cookie-setting methods, only the last cookie is stored on the Appwrite Deploy, while all three appear on local servers. It seems Appwrite Deploy's proxy may be collapsing multiple Set-Cookie headers. Solution: To reliably set multiple cookies on Appwrite Deploy, consider combining the multiple cookies into a single Set-Cookie header separated by semicolons. This workaround can ensure all cookies are stored correctly on the Appwrite Deploy platform.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more