Skip to content

[Feature]: Support setting userTimezone per agent #39579

Description

@FMCorz

Summary

Add the ability to configure userTimezone on a per-agent basis in agents.list[].userTimezone.

Problem to solve

Users with multiple agents handling different regions/accounts currently have to share a single global agents.defaults.userTimezone. This limits the ability for different agents to have accurate local time context for their respective user bases.

Proposed solution

Introduce userTimezone to the AgentEntrySchema. When resolving timezones (for system prompts, heartbeat active hours, or envelopes), prioritize the active agent's userTimezone, falling back to the global defaults.userTimezone, and finally the host timezone.

Alternatives considered

No response

Impact

Affected: Users running multi-agent configurations across different time zones.

Severity: Medium for multi-agent setups. Without this, agents in different regions receive the wrong local time context in their system prompt. This causes hallucinations around relative time (e.g., saying "Good morning" when it's evening for the user) and causes heartbeat activeHours to trigger at the wrong times for regional agents.

Frequency: Always occurs for secondary agents operating in a different timezone than the global default/host.

Consequence: Limits the ability to effectively run a single OpenClaw instance to serve users across multiple global regions.

Evidence/examples

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions