news.herich.cloud
Archived text mirror · columns · archive · trending · search
Hacker News October 15, 2026 4 min signal 2026-10-15

OpenCode 2.0

Archived text mirror, captured for personal reading when the Signal ran. Formatting is approximate — read the original at the source.

OpenCode

2.0

is

a

major

over

haul.

It

draws

on

mil

lions

of

daily

users'

expe

ri

ence

to

deliver

a

system

that

can

flex

to

every

thing

an

agent

needs

to

be.

There

are

quite

a

lot

of

new

fea

tures,

per

for

mance

improve

ments,

and

bug

fixes

but

here

are

some

of

the

more

impact

ful

user-facing

changes.

The Service

From

the

begin

ning

OpenCode

adopted

a

client/server

model.

However,

this

was

not

some

thing

it

took

advan

tage

of

by

default

and

was

mostly

used

by

power

users.

In

2.0

this

server

now

auto

mat

i

cally

runs

as

a

single

back

ground

process

on

your

machine.

When

you

open

up

a

TUI,

the

web

inter

face

or

the

desktop

app

they're

all

talking

to

the

same

central

process.

If

you're

using

the

pro

gram

matic

client

@opencode/client

to

make

your

own

scripts,

they

will

autodis

cover

the

local

service

and

just

work.

This

is

par

tic

u

larly

useful

for

sched

uled

tasks.

You

can

also

call

it

via

CLI

by

using

opencode

api

com

mands.

You

can

expose

it

to

other

hosts

and

run

/pair

or

opencode

pair

to

connect

it

to

other

appli

ca

tions.

We

have

native

apps

in

the

works

that

take

advan

tage

of

this

flow.

The API

The

old

API

grew

hap

haz

ardly

as

we

and

the

world

col

lec

tively

learned

what

agents

are

and

should

be.

It

was

bad.

We

started

from

scratch

and

exam

ined

all

the

weird

use

cases

across

the

mil

lions

of

users

who

use

OpenCode

every

day.

It

now

sup

ports

nearly

any

thing

you

need

to

be

able

to

do.

OpenCode

is

also

aware

of

its

own

API

and

will

call

it

to

do

useful

things

like

moving

the

current

session

into

a

git

work

tree

when

start

ing

new

work.

We've

also

shipped

a

new

client

package

@opencode/client

that

con

tains

clients

for

vanilla

JavaScript

as

well

as

Effect.

Code Mode

The

models

love

to

write

code

and

OpenCode

2.0

takes

advan

tage

of

that

more

than

any

other

coding

agent.

We've

built

a

minimal

JavaScript

inter

preter

in

the

@opencode/codemode

package.

This

package

ingests

MCP

servers

or

OpenAPI

end

points,

con

vert

ing

them

into

func

tions

that

the

agent

can

call

in

a

script.

It

can

run

these

scripts

natively

without

the

com

plex

ity

of

Node.js

VMs

or

embed

ding

com

pli

cated

solu

tions

like

QuickJS.

This

lets

your

agent

write

scripts

that

can

do

things

like

call

a

tool,

map

over

the

results

and

call

another

tool.

Single

round

trip

instead

of

calling

them

one

at

a

time.

All

MCP

servers

in

2.0

are

opted

into

code

mode

by

default.

This

means

you

can

add

a

thou

sand

of

them

with

minimal

context

bloat

and

your

agent

will

dis

cover

and

compose

them

to

get

things

done.

Background Tasks

The

latest

batch

of

models

are

incred

i

bly

good

at

orches

tra

tion

and

it

is

impor

tant

for

har

nesses

to

let

them

express

the

full

extent

of

that

capa

bil

ity.

First,

we've

added

back

ground

sub

agents.

This

allows

the

primary

agent

to

kick

off

some

work

to

another

one

while

it

con

tin

ues.

This

happens

auto

mat

i

cally

but

you

can

also

trigger

it

man

u

ally

-

even

with

a

dif

fer

ent

model.

It

lets

you

do

things

like

“spawn

a

back

ground

fable

sub

agent

to

review

this

code”

while

you

keep

prompt

ing.

Second,

we've

added

back

ground

shell

com

mands.

The

shell

tool

can

be

invoked

asyn

chronously

so

long-running

work

does

not

have

to

block

the

primary

agent.

It'll

be

noti

fied

when

things

are

com

plete.

If

any

fore

ground

shell

command

or

sub

agent

takes

longer

than

you

expect,

you

can

hit

a

hotkey

to

move

them

to

the

back

ground

so

you

can

keep

prompt

ing.

Plugins

Although

OpenCode

1.0

had

a

plugin

system,

it

never

got

the

atten

tion

it

needed.

To

correct

that,

we

forced

our

selves

to

imple

ment

nearly

every

OpenCode

2.0

feature

as

an

inter

nal

plugin

and

there

are

now

80+

of

them.

This

guar

an

tees

that

the

Plugin

API

stays

well

main

tained.

We've

also

pro

moted

TUI

plugins

from

exper

i

men

tal

to

stable.

Since

it

is

all

powered

by

OpenTUI,

you

can

build

nearly

any

thing.

Here

is

an

example

of

some

thing

useless.

We also spent quite a lot of time ensuring everything in OpenCode 2.0 can be hot-reloaded. So it can write a plugin for itself mid-session and use it right away - we covered the design of this in a previous blogpost.

You can ask OpenCode to build whatever plugin you want and it knows how to. But if you do want to read the docs, they are available here.

The SDK

OpenCode

can

also

now

be

used

as

a

library

with

the

@opencode/sdk

package.

This

is

the

exact

same

code

that

powers

our

CLI.

This

means

you

can

strip

it

down

and

make

your

own

flavor

of

OpenCode

that

runs

on

a

server

or

in

spe

cial

ized

envi

ron

ments

like

Durable

Objects.

And

then

you

can

connect

to

it

from

any

OpenCode

client

since

it

speaks

the

stan

dard

OpenCode

server

pro

to

col.

It

also

has

an

optional

Effect-based

API.

This one is still in development as things are shifting but you can already use it.

Upgrading

To

upgrade

the

CLI,

make

sure

you're

on

the

latest

1.x

release,

then

run

opencode

upgrade

--major.

To upgrade your desktop app, download the latest here.

There

are

some

break

ing

changes.

1.0 plugins will not work in 2.0

Server API is completely different

tui.json config is moved to json

There are a lot of other changes but they are backwards compatible. It is worth pointing OpenCode at this doc so it can migrate things for you.

← latest Signal