What is Kujira?
3 min read
Kujira is a platform for creating, coordinating, and supervising artificial intelligence agents. From one dashboard, you define their work, connect them to your services, and manage how they collaborate with your team.
An agent can answer a conversation, run a scheduled task, or act on an event, such as an incoming email. Its activity depends on the model, instructions, and access you configure.
A work environment for your agents
The AI model provides the ability to interpret instructions and generate responses. Kujira organizes the context, tools, and supervision an agent needs to do its work.
Context and instructions
Memories gather information the agent needs to consult. Skills describe procedures it can reuse across different tasks.
Connection to your services
Integrations let you receive messages and events, and act with authorized accounts. You can connect email, repositories, and communication channels.
Supervision and permissions
Decide which resources each agent can access, set when it must request approval, and review its activity and usage from the dashboard.
People and agents working together
Everything is organized within an organization, which brings together your team, agents, and shared resources. Each person has access permissions, and each agent has the configuration and resources assigned to its role.
Agents can collaborate with one another when you grant them access. Your team can also talk with them, respond to their approval requests, or take over customer service.
For example, a support agent can receive an inquiry by email, consult its support instructions, and ask a technical agent for help. If the case requires human intervention, a person can take over the conversation from Agent Desk.
Your infrastructure and models
Agents run on servers you connect to Kujira and use the accounts of the AI providers you configure. The dashboard centralizes their management even when they are distributed across several servers or use different models.
Docker isolates execution with one persistent container per agent. The supervisor manages it while the agent is running; opening an internal chat, receiving a Telegram message, or handling a Discord channel does not create another container.
Isolated sessions within an agent
Each conversation has its own session_id and Claude Code transcript. To handle an active conversation, the container runs an ephemeral Claude process that resumes only that session. When there is no longer activity, the process stops—after five minutes by default; when a new message arrives, it starts again with the same transcript.
Agent
└─ Persistent container
└─ Ephemeral Claude processes
├─ One session per conversation
└─ An independent transcript per sessionThis allows several operators, customers, or channels to talk to the same agent at once without mixing their conversation contexts. Internal chat works the same way as external channels: a new thread creates a conversation with its own session, without starting additional infrastructure.
Credentials, environment variables, and MCP servers belong to the agent container, so they are shared across its conversations. What remains separate is the history Claude sees and uses to reason in each thread.
Centralized supervision
A supervisor centralizes traffic from all conversations before actions run. From there, Kujira can log and audit activity, detect and filter exposed credentials, and apply permissions, limits, and approvals.
Security enforced on the server
Isolation and supervision are applied in the infrastructure where Kujira runs; they do not depend on the agent following an instruction.
Start with an agent
Choose a specific task and prepare the resources it needs to carry it out. The First steps guide takes you from setting up the organization to creating your first agent.