Is every class that does not add sets necessarily added by forcing?  We know there are many situations in which we can force over a model $M$ of GBC to add a class $G$ without adding any sets.  That is, the extension $M[G]$ satisfies GBC and has the same sets as $M$.  This technique is used, for example, in the proof that GBC is a conservative extension of ZFC, by forcing to add a universal choice function to a model of ZFC.  
I'd like to know whether every class that can be 'safely' added to a model (preserving GBC and adding no sets) arises through forcing:

If $M$ is a model of GBC and $G$ is a class (that is, a subcollection of the sets of $M$, not a class member of $M$) such that $M[G]$ satisfies GBC and has the same sets as $M$, then is $G$ necessarily generic for some partial order $P \in M$?

I feel 'morally certain' that the answer must be no.  Certainly the analogous question about sets, 'Can every set be added by forcing?' has a negative answer - we cannot, for example, force over $L$ to add a measure to a cardinal $\kappa$ (or to add $0^\\#$, or any other set that might increase the consistency strength).  However, I don't see how to adapt this kind of argument to classes, if we are not allowed to add sets.  I'd love to see a counterexample (a proof of a positive answer would also be welcome!).
 A: It is a fantastic question, Jonas! I've spent hours with it now, going back and forth  several times about which way it might go.
But finally, I've got a negative answer, at least for some models $M$. My idea is
that some models of ZFC admit what are called satisfaction
classes, but these can never be added by class forcing.
For any transitive model $M$ of ZFC, let $S$ be the set of pairs
$\langle{}^\ulcorner\varphi{}^\urcorner,a\rangle$, for which
$\varphi[a]$ holds in $M$. This class $S$ is the (unique) class of
pairs $\langle n,a\rangle$ satisfying the Tarskian inductive
definition of truth. Further, we may sometimes add $S$ as a class
to $M$ and still have GBC in $(M,S)$. This is true, for example,
when $M=V_\kappa$ for an inaccessible cardinal $\kappa$; but also
it is true for many other models.
So let us suppose that $M$ admits such a unique satisfaction
class.
Can $S$ be added by class forcing over $M$ without adding sets? If
we regard $M$ as a GB model by endowing it with only its definable
classes, then the answer is no.
To see this, suppose that $S$ was added in the class forcing
extension $M[H]$, where $H\subset\mathbb{P}$ is $M$-generic for
the class forcing $\mathbb{P}$, which adds no sets. So
$S=\dot{A}_H$ for some class $\mathbb{P}$-name $\dot{A}$, and in
particular, both $\dot{A}$ and $\mathbb{P}$ are definable in $M$.
Now, the key step is that although truth itself is not definable,
by Tarski's theorem, the property of $S$ that it satisfies the
inductive definition of truth has complexity merely $\Delta_1(S)$.
Thus, one of the assertions about $S$ that is true in $M[H]$ is
that it satisfies the Tarskian definition of truth. Thus, there
must be a condition forcing that $\dot{A}$ is a satisfaction
class, obeying Tarski's inductive definition.
But since the satisfaction class of $M$ is unique, this means
that there is no choice for the generic filter whether or not to
place a pair into or out of $\dot{A}$. Thus, inside $M$ by simply
looking at which pairs can be added at all to the class named by
$\dot{A}$, we can define $S$ in $M$. But this contradicts Tarski's
theorem on the non-definability of truth. QED
Let me argue next that we don't actually need the satisfaction class to be unique, and
the same argument will work whenever $M$ admits a satisfaction
class at all, with GBC in $(M,S)$. This can conceivably happen in non-standard models $M$, with non-standard Gödel codes. Nevertheless, the standard
part of the satisfaction class, that is, for standard Gödel
codes, will be unique, and so we can still get that stable part of
the satisfaction class from the name $\dot{A}$---the pairs that
are forced into $\dot{A}$ by every condition. This will still be a
satisfaction predicate, contrary to Tarski's theory of truth, even
if $M$ is not an $\omega$-model and possibly admits several
satisfaction classes.
Finally, let me point out that not every model of ZFC admits a
satisfaction class. For example, if $M$ is 
pointwise definable, as
in our joint paper on Pointwise definable models of set theory, then this property would be revealed by
the satisfaction class, and so we cannot add this class without
revealing to $M$ that it is countable.
