---
name: "talk"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd", "macos"]
url: "https://new.carta.tech/talk"
---

# talk(1)

talk to another user

## NAME

**talk** – talk to another user

## SYNOPSIS

**talk** \[**-Hs**\] *person* \[*ttyname*\]

## DESCRIPTION

**talk** is a visual communication program which copies lines from your terminal to that of another user.

The command arguments are as follows:

- **-H**

  Don't escape characters with the high bit set. This may be useful for certain character sets, but could cause erratic behaviour on some terminals.

- **-s**

  Use smooth scrolling in the **talk** window. The default is to clear the next two rows and jump from the bottom of the window to the top.

- *person*

  If you wish to talk to someone on your own machine, then *person* is just the person's login name. If you wish to talk to a user on another host, then *person* is of the form ‘user@host’.

- *ttyname*

  If you wish to talk to a user who is logged in more than once, the *ttyname* argument may be used to indicate the appropriate terminal name, where *ttyname* is of the form ‘ttyXX’.

When first called, **talk** sends the message

```
Message from Talk_Daemon@localhost...
talk: connection requested by your_name@your_machine.
talk: respond with: talk your_name@your_machine
```

to the user you wish to talk to. At this point, the recipient of the message should reply by typing

```
$ talk  your_name@your_machine
```

It doesn't matter from which machine the recipient replies, as long as the login name is the same. If the machine is not the one to which the talk request was sent, it is noted on the screen. Once communication is established, the two parties may type simultaneously, with their output appearing in separate windows. Typing control-L (‘^L’) will cause the screen to be reprinted, while the erase, kill, and word kill characters will behave normally. To exit, just type the interrupt character; **talk** then moves the cursor to the bottom of the screen and restores the terminal to its previous state.

Permission to talk may be denied or granted by use of the [mesg(1)](/mesg/1.md) command. At the outset talking is allowed. Certain commands, such as [pr(1)](/pr/1.md), disallow messages in order to prevent messy output.

## ASYNCHRONOUS EVENTS

- SIGINT

  Terminate **talk** and exit with a zero status.

## FILES

- */etc/hosts*

  to find the recipient's machine

- */var/run/utmp*

  to find the recipient's tty

## EXIT STATUS

The **talk** utility exits 0 on success, and \>0 if either an error occurred or **talk** is invoked on an unsupported terminal.

## SEE ALSO

[mail(1)](/mail/1.md), [mesg(1)](/mesg/1.md), [who(1)](/who/1.md), [write(1)](/write/1.md), [talkd(8)](/talkd/8.md)

## STANDARDS

The **talk** utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification, though its presence is optional.

The flags \[**-Hs**\] are extensions to that specification.

## HISTORY

The **talk** command appeared in 4.2BSD.
