# ElizaOS Developer Update: Week of September 15-19, 2025

## 1. Core Framework

### CLI Architecture Refactoring
We've made significant progress on the CLI architecture overhaul ([#5860](https://github.com/elizaOS/eliza/issues/5860)). The refactoring aims to simplify complexity by centralizing business logic in the server package rather than duplicating it across the CLI. This will create clearer separation of concerns and improve maintainability.

A major issue was identified and fixed where `elizaos dev` creates an infinite loop of port reassignments ([#5988](https://github.com/elizaOS/eliza/pull/5988)):

```typescript
// Previous implementation with issue
function startDevServer() {
  // Port conflict detection logic that caused infinite loop
  // when ports were reassigned
}

// New implementation with fix
function startDevServer() {
  // Wait for port to be free before restarting
  await waitForPortToBeAvailable(port);
  // Proceed with server start
}
```

We've also refactored dynamic migrations ([#5990](https://github.com/elizaOS/eliza/pull/5990)) to improve database initialization and update processes.

### Package Manager Conflicts
Multiple users reported version conflicts between ElizaOS CLI 1.4.3 and 1.5.10, with package manager conflicts between npm and bun installations. We're working on adding a CLI checker to warn about these conflicts, and have updated the troubleshooting documentation with resolution steps:

```bash
# To resolve package manager conflicts
# 1. Remove all versions
npm uninstall -g @elizaos/cli elizaos
yarn global remove @elizaos/cli elizaos
bun uninstall -g @elizaos/cli elizaos

# 2. Install with a single package manager (recommended: bun)
bun install -g @elizaos/cli
```

## 2. New Features

### ElizaOS Cloud Platform
Sam-developer demonstrated a working end-to-end flow for the ElizaOS Cloud platform and plugin, allowing users to use the ElizaOS Cloud API key directly in the CLI without needing separate provider keys. This significantly simplifies credential management for developers.

### Canvas Interface with tldraw SDK 4.0
We're exploring integration with tldraw SDK 4.0 to create more advanced canvas interfaces beyond traditional chat interactions. This represents the next evolution in AI interfaces and could give ElizaOS an edge over other AI applications.

```typescript
// Example implementation with tldraw SDK 4.0
import { Tldraw, TldrawEditor } from '@tldraw/tldraw'

function ElizaCanvas() {
  return (
    <Tldraw
      persistenceKey="eliza-canvas"
      onMount={(editor: TldrawEditor) => {
        // Connect ElizaOS agent to tldraw editor
        setupAgentWithCanvas(editor);
      }}
    />
  )
}
```

### Onchain Agent Registration
We're developing an agent that registers itself onchain with a generated wallet using ERC-8004 contracts. This builds on existing work with Chaos Chain using Spore to collaborate on proposals, vote, and execute proposals onchain.

## 3. Bug Fixes

### Port Conflict Resolution
A critical bug was identified and fixed where `elizaos dev` creates an infinite loop of port reassignments, affecting development workflows ([#5988](https://github.com/elizaOS/eliza/pull/5988)). The fix implements proper waiting for ports to be freed before attempting to restart the server.

### PGLite Data Directory Standardization
PR [#5987](https://github.com/elizaOS/eliza/pull/5987) standardizes the PGLite data directory environment variable, ensuring consistent data storage location across different environments and preventing data loss issues.

```typescript
// Before: Inconsistent environment variable usage
const dataDir = process.env.PGLITE_DATA_DIR || 
                process.env.DATABASE_DIR || 
                path.join(process.cwd(), '.pglite');

// After: Standardized approach
const dataDir = process.env.DATABASE_DIR || path.join(process.cwd(), '.pglite');
```

### .gitignore Cleanup
We identified and cleaned up duplicate entries in the .gitignore file, including redundant entries for bun.lock, **/dist/**, and dist/. This simplifies the repository structure and improves clarity.

## 4. API Changes

### Plugin Routes Namespacing
Public agent plugin panels are now exposed under agent-scoped paths:
```
/api/agents/{agentId}/plugins/{pluginId}/panels/{panelId}
```

This change provides better organization and prevents path collisions between different plugins and agents.

### Media Path Transformation
We've implemented a fix to transform local file paths to API URLs for web client image display, particularly affecting the OpenRouter plugin. This ensures that generated images are properly displayed in the web interface:

```typescript
// Example of the path transformation logic
function transformMediaPath(filePath: string): string {
  if (isLocalPath(filePath)) {
    return `/api/media/files/${encodeURIComponent(path.basename(filePath))}`;
  }
  return filePath;
}
```

## 5. Social Media Integrations

### WhatsApp Integration
Several developers are working on implementing WhatsApp integration with ElizaOS for AI auto-reply functionality. The implementation will use the WhatsApp Cloud API, with multiple community members collaborating on the project. This will enable ElizaOS agents to:
- Automatically respond to WhatsApp messages
- Process media attachments 
- Handle group conversations

### Twitter/X API Changes
The Twitter plugin no longer bypasses the X API as of version 1.0.7, which was the last version that had this capability. We've received reports that API usage is now properly tracked and requires authentication.

### Farcaster Integration Updates
We've closed issues #5944 (Provide an option for webhooks for Farcaster) and #5943 (Update Neynar SDK for Farcaster), indicating progress on improving our Farcaster integration.

## 6. Model Provider Updates

### OpenRouter Integration
A fix was implemented to transform local file paths to API URLs for web client image display with the OpenRouter plugin, ensuring that generated images are properly displayed in the web interface.

### GPT-5 Pricing Update
GPT-5 is now 50% off on OpenRouter for a week, along with new features like native web search and organization usage tracking.

## 7. Breaking Changes

### V1 to V2 Migration Issues
Users migrating characters from v1 to v2 should use the character-migrator tool:

```bash
# To migrate characters from v1 to v2
# First, enable debug logging for better visibility
LOG_LEVEL=debug elizaos character-migrate --from v1 --to v2
```

### CLI Version Conflicts
When upgrading from ElizaOS CLI 1.4.3 to 1.5.10, users may experience package manager conflicts. The recommended approach is to remove all versions and reinstall with a single package manager (preferably bun).

```bash
# Clean removal and installation
bun uninstall -g @elizaos/cli elizaos
npm uninstall -g @elizaos/cli elizaos
bun install -g @elizaos/cli
```

---

This update reflects ongoing work to improve ElizaOS core architecture, enhance developer experience, and expand integration capabilities. Please join us in the #development-feed Discord channel for further discussions.