appsmithorg/appsmith · critical · Error

Redis URL not found. Please check APPSMITH_REDIS_URL configu

Error message

Redis URL not found. Please check APPSMITH_REDIS_URL configuration.

What it means

Thrown immediately after the DB-URL check in enable_form_login.ts run(). utils.getRedisUrl() must return a Redis URL (APPSMITH_REDIS_URL) because enabling form login coordinates with the supervisor/Redis-backed state; a falsy value aborts before any mongosh call.

Source

Thrown at app/client/packages/rts/src/ctl/enable_form_login.ts:15

import * as utils from "./utils";

export async function run() {
  const dbUrl = utils.getDburl();
  const redisUrl = utils.getRedisUrl();

  // Validate required configuration
  if (!dbUrl) {
    throw new Error(
      "Database URL not found. Please check APPSMITH_DB_URL or APPSMITH_MONGODB_URI configuration.",
    );
  }

  if (!redisUrl) {
    throw new Error(
      "Redis URL not found. Please check APPSMITH_REDIS_URL configuration.",
    );
  }

  await utils.ensureSupervisorIsRunning();

  let organizationId: string;

  try {
    // First, check if the organization exists
    const orgCheckResult = await utils.execCommandReturningOutput([
      "mongosh",
      dbUrl,
      "--eval",
      "db.organization.findOne({slug:'default'},{_id:1,slug:1})",
      "--json",
    ]);

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Set APPSMITH_REDIS_URL to a valid redis:// URL before running the ctl.
  2. Source the runtime env: '. /appsmith-stacks/runtime.env' then re-run.
  3. Confirm Redis is actually reachable at the configured URL ('redis-cli -u "$APPSMITH_REDIS_URL" ping') — by exit code, never by printing the value.
  4. Re-run the ctl once both DB and Redis URLs resolve.

Example fix

# before
$ appsmith ctl enable-form-login
# -> Redis URL not found...

# after
$ export APPSMITH_REDIS_URL='redis://...'
$ appsmith ctl enable-form-login
Defensive patterns

Strategy: validation

Validate before calling

if (!process.env.APPSMITH_REDIS_URL) throw new Error('Set APPSMITH_REDIS_URL before running the ctl.');

Type guard

const hasRedisUrl = (env: NodeJS.ProcessEnv): boolean => Boolean(env.APPSMITH_REDIS_URL);

Prevention

When it happens

Trigger: Running the enable-form-login ctl without APPSMITH_REDIS_URL exported in the environment.

Common situations: Same shell/env gaps as the DB-URL error: one-off exec without sourcing runtime.env; Redis not yet provisioned on a fresh install; env var dropped during a config migration.

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/3ac8eb0731b0e3ab. Report an issue: GitHub.