---
name: "public-inbox-edit"
section: "1"
platform: "linux"
package: "public-inbox"
version: "1.9.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/public-inbox-edit"
---

# public-inbox-edit(1)

destructively edit messages in a public inbox

## NAME

public-inbox-edit - destructively edit messages in a public inbox

## SYNOPSIS

```
        public-inbox-edit -m MESSAGE-ID --all|INBOX_DIR
        public-inbox-edit -F RAW_FILE --all|INBOX_DIR [.. INBOX_DIR]
```

## DESCRIPTION

public-inbox-edit allows editing messages in a given inbox to remove sensitive information.  It is only intended as a last resort, as it will cause discontiguous git history and draw more attention to the sensitive data in mirrors.

## OPTIONS

- \--all

  Edit the message in all inboxes configured in ~/.public-inbox/config. This is an alternative to specifying individual inboxes directories on the command-line.

- \-m MESSAGE-ID

  Edits the message corresponding to the given `"MESSAGE-ID"`. If the `"MESSAGE-ID"` is ambiguous, `"--force"` or using the `"--file"` of the original will be required.

- \-F FILE

  Edits the message corresponding to the Message-ID: header and content given in `"FILE"`.  This requires the unmodified raw message, and the contents of `"FILE"` will not itself be modified.  This is useful if a Message-ID is ambiguous due to filtering/munging rules or other edits.

- \--force

  Forcibly perform the edit even if Message-ID is ambiguous.

- \--raw

  Do not perform "From " line escaping.  By default, this generates a mboxrd variant file to detect unpurged messages in the new mbox.  This makes sense if your configured `"publicinbox.mailEditor"` is a regular editor and not something like `"mutt -f"`

## CONFIGURATION

- publicinbox.mailEditor

  The command to perform the edit with.  An example of this would be `"mutt -f"`, and the user would then use the facilities in [**mutt**(1)](/mutt/1.md) to edit the mail.  This is useful for editing attachments or Base64-encoded emails which are more difficult to edit with a normal editor (configured via `"GIT_EDITOR"`, `"VISUAL"` or `"EDITOR"`).

  Default: none

## ENVIRONMENT

- GIT\_EDITOR / VISUAL / EDITOR

  public-inbox-edit will fall back to using one of these variables (in that order) if `"publicinbox.mailEditor"` is unset.

- PI\_CONFIG

  The default config file, normally "~/.public-inbox/config". See [**public-inbox-config**(5)](/public-inbox-config/5.md)

## LIMITATIONS

Only v2 repositories are supported.

This is safe to run while normal inbox writing tools ([**public-inbox-mda**(1)](/public-inbox-mda/1.md), [**public-inbox-watch**(1)](/public-inbox-watch/1.md), [**public-inbox-learn**(1)](/public-inbox-learn/1.md)) are active.

Running this in parallel with [**public-inbox-xcpdb**(1)](/public-inbox-xcpdb/1.md) or `"public-inbox-index --reindex"` can lead to errors or edited data remaining indexed.

Incremental [**public-inbox-index**(1)](/public-inbox-index/1.md) (without `"--reindex"`) is fine.

Keep in mind this is a last resort, as it will be disruptive to anyone using [**git**(1)](/git/1.md) to mirror the inbox being edited.

## CONTACT

Feedback welcome via plain-text mail to \<mailto:meta@public-inbox.org\>

The mail archives are hosted at \<https://public-inbox.org/meta/\> and \<http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/\>

## COPYRIGHT

Copyright 2019-2021 all contributors \<mailto:meta@public-inbox.org\>

License: AGPL-3.0+ \<https://www.gnu.org/licenses/agpl-3.0.txt\>

## SEE ALSO

[**public-inbox-purge**(1)](/public-inbox-purge/1.md)
