Kenan Kolat, president of the Turkish Community in Germany, complained that the agreement, which applies to children of foreign parents born and raised in Germany, did not go far enough.
"We are very disappointed," he told AFP, adding the new rule would do nothing for the previous generations who were born abroad but may have long resided in Germany.
"Parents and grandparents have done much for this country," Kolat said. He added that if the agreement had been more far-reaching it "would have been recognition of this achievement."
Many Turkish community leaders in Germany, home to around three million people with Turkish roots, want everyone of foreign origin to have the option of holding more than one nationality.
Allowing dual nationality was a key demand of the Social Democrats (SPD) during negotiations with Chancellor Angela Merkel's conservatives that resulted in a hard-fought deal to team up in a left-right government.
The current rules state that children born in Germany must choose by the age of 23 between taking a German passport or that of their parents' country of origin.
European Union citizens, however, are already permitted to hold both German citizenship and that of their country of origin.
Merkel told reporters the decision had not been easy for her Christian Democrats but said it "sent a message" to those youngsters growing up in Germany.
However, Kolat was critical of the SPD for not having stuck to its guns and pushed for a general right to more than one passport in its negotiations with the conservatives.
SPD chief Sigmar Gabriel, seated next to Merkel at a news conference to present their coalition pact on Wednesday, said his party had wanted a more advanced rule on the issue but that it would not have been accepted by the other side.
But he said the compromise had broken "a taboo", praised the conservative bloc's "courage" and added he believed reforms would continue.